dubbo-demo

dubboDemo示例

dubbo入门示例,仅是个人日常学习。详情见:dubbo.io

直奔主题,只是简单入门,开发工具IDEA

工程结构:

com-dubbo为父级,pom.xml主要依赖,还有spring相关依赖

<dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.4.9</version>
        </dependency>
        <!-- dubbo -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>dubbo</artifactId>
            <version>2.5.3</version>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.101tec</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.10</version>
        </dependency>

主要分为接口(dubbo-api),接口实现也称提供者(dubbo-provider),消费放(dubbo-consumer)

dubbo-api主要提供暴露给外部的接口,不需关注实现

pom.xml

<parent>
        <artifactId>com-dubbo</artifactId>
        <groupId>com.dubbo</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>dubbo-api</artifactId>
    <packaging>jar</packaging>

完成!

dubbo-provider需引入dubbo-api并提供接口实现类,并进行spring和dubbo的相关配置

<dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.dubbo</groupId>
            <artifactId>dubbo-api</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

实现类:


启动demo类:


provider.xml

service 用来声明需要暴露的服务接口,这里暴露了com.dubbo.api.DemoService接口 
ref 引用spring的bean demoService
protocol  指该应用用 dubbo 协议在 28080 端口暴露服务

application 指当前应用名称,主要用来给 zookeeper 注册中心计算应用间依赖关系,一般与应用名称相同

dubbo-consumer 客户端,用于调用服务

pom.xml 与 provider相同,需引入api模块

消费者启动类:


consumer.xml


个人理解:provider 暴露(interface)api接口,同时关联(ref)到 provider 的spring bean(demoService) ,consumer 引用(interface)api接口,同时 reference(IOC注入id bean,此名称与provider中 ref无关)

启动服务

先启动zookeepr:zkServer.cmd,在启动provider


启动zkCli.cmd,即可看到服务已经注册上去


启动consumer:


成功!完!

猜你喜欢

转载自blog.csdn.net/zs770635620/article/details/80377804