1、安装启动zookeeper注册中心进行服务治理
2、生成者和消费者pom.xml引入dubbo依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.8.3</version>
</dependency>
3、生产者
3.1生产者编写service接口及逻辑实现类
3.2配置文件添加zookeeper地址端口
dubbo.registry.address=127.0.0.1:2181 //zk注册中心地址
dubbo.protocol.port=8466 //服务暴露的端口
3.3applicationcontext.xml添加dubbo相关配置、配置bean并将其注册到注册中心
<bean id="userService" class="cn.serviceimpl.UserServiceImpl"/> //配置bean
<dubbo:service interface="cn.service.UserService" ref="userService"/> //bean注册到注册中心
<dubbo:application name="userserver-pro"/> //dubbo公共配置
<dubbo:registry protocol="zookeeper" address="${dubbo.registry.address}" /> //配置使用zk注册中心
<dubbo:protocol name="dubbo" port="${dubbo.protocol.port}" server="netty" client="netty" serialization="dubbo" charset="UTF-8" threadpool="limited" threads="2000" queues="0" buffer="8192" accepts="0" payload="8388608" /> //配置相关协议、端口、线程池等
4、消费者
4.1配置文件添加zk地址
dubbo.registry.address=127.0.0.1:2181 //zk地址端口
4.2applicationcontext.xml添加dubbo相关配置,配置订阅生产者相关bean
<dubbo:application name="userserver-biz"/> //dubbo公共配置
<dubbo:registry protocol="zookeeper" address="${dubbo.registry.address}" /> //配置使用zk注册中心
<dubbo:consumer timeout="28000" /> //配置超时时间
<dubbo:reference id="userService" interface="cn.service.UserService" timeout="15000" /> //订阅指定bean,配置请求超时时间
4.3使用@Autowired注入bean,实现RPC调用
@Autowired
private UserService userService;
ResultData result = userService.login(trace, param);