Springboot+Dubbo+Zookeeper系统搭建
搭建dubbo系统demo大致三个步骤,如下:
第一步:安装zookeeper,并搭建zookeeper集群;
第二步:创建service服务,其中包括api和providerl两个模块;
第三步:创建client系统调用服务,测试;
话不多说,开始搭建!
第一步:安装zookeeper,并搭建zookeeper集群;
这不是本文重点,就不过多描述,请自行百度;
第二步:创建service服务,其中包括api和providerl两个模块;
1,创建服务order--service,为maven的quickstart工程;
2,创建子模块order-api,为maven的quickstart工程,以jar包形式提供用于依赖的实体类或接口类;
3,创建子模块order-provider,为spring-boot工程,不需要依赖boot的其它组件;
4,在order-api建立IOrderService接口,
5,在order-provider的pom.xml依赖order-api的jar包,及dubbo/zookeeper/日志等, 并新建OrderServiceImpl类;
<dependency>
<groupId>com.example.dubbo</groupId>
<artifactId>order-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<!--dubbo-->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
<version>2.7.7</version>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.7.7</version>
</dependency>
<!--连接zookeeper-->
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>2.12.0</version>
</dependency>
<!--日志依赖-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.29</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
6,子模块order-provider 新建OrderServiceImpl类,并添加@DubboService注解;
7,添加配置文件;
#扫描对应的注解
dubbo.scan.base-packages=com.example.dubbo
#项目
dubbo.application.name=order-service
#服务
dubbo.protocol.name=dubbo
dubbo.protocol.port=20880
#dubbo.protocol.host=192.168.1.113
#注册中心
dubbo.registry.address=zookeeper://192.168.0.18:2181?backup=192.168.0.17:2181,192.168.0.16:2181
dubbo.registry.timeout=50000
#元数据
#dubbo.registry.simplified=true
#dubbo.metadata-report.cycle-report=true
#dubbo.metadata-report.address=zookeeper://192.168.0.18:2181?backup=192.168.0.17:2181,192.168.0.16:2181
8,启动服务,在zookeeper中查看是否注册成功;
第三步:创建client系统调用服务,测试;
1,创建order-user系统,为spring-boot工程,依赖web;
2,在order-user的pom.xml文件中引用
<dependency> <groupId>com.example.dubbo</groupId> <artifactId>order-api</artifactId> <version>1.0-SNAPSHOT</version> </dependency> <!--dubbo--> <dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo</artifactId> <version>2.7.7</version> </dependency> <dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-spring-boot-starter</artifactId> <version>2.7.7</version> </dependency> <!--连接zookeeper--> <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-framework</artifactId> <version>2.12.0</version> </dependency> <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-recipes</artifactId> <exclusions> <exclusion> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> </exclusion> </exclusions> <version>2.12.0</version> </dependency> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.10</version> </dependency>
3,创建controller类,提供接口访问,并通过@Reference调用远程服务 。
4,设置order-user的配置文件
#扫描注解
dubbo.scan.base-packages=com.example.demo
#项目
dubbo.application.name=order-user
#注册中心
dubbo.registry.address=zookeeper://192.168.0.18:2181?backup=192.168.0.17:2181,192.168.0.16:2181
5,启动并访问http://localhost:8080/orderInfo , 访问成功,大功告成!