dubbo + zookeeper 简单使用
可参数代码: https://github.com/cyf883947/DubboDemo
致力于将复杂的事情简单化
1. 创建两个项目,项目一提供接口和实现供项目二通过 dubbo+zookeeper 调用。
2. 项目一 dubbo-producer:
① 创建一个service ,创建一个 serviceImpl.
public interface MonitorService {
void testDubbo();
}
@Service(value = "monitorService")
public class MonitorServiceImpl implements MonitorService {
@Override
public void testDubbo() {
System.out.println("Successfully entered the dubbo producer.");
}
}
②:添加dubbo jar包
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.5.4</version>
</dependency>
③:添加 dubboProducer.xml
dubbo.registry.address=zookeeper://192.168.130.192:2181
dubbo.protocol.name = dubbo
dubbo.protocol.port = 18362
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<!-- 提供方应用信息,用于计算依赖关系 -->
<dubbo:application name="spring-boot-hello"/>
<!-- 这里使用的注册中心是zookeeper -->
<dubbo:registry address="${dubbo.registry.address}" client="zkclient"/>
<!-- 用dubbo协议在20880端口暴露服务 -->
<dubbo:protocol name="${dubbo.protocol.name}" port="${dubbo.protocol.port}"/>
<!-- 引用dubbo服务:从注册中心中查找服务 -->
<!--创建 dubbo服务-->
<dubbo:service interface="com.neo.controller.MonitorService" ref="monitorService"></dubbo:service>
</beans>
3. 项目二 dubbo-consumer:
①:引入jar 包 项目一的jar包路径。
<dependency>
<groupId>com.neo</groupId>
<artifactId>dubbo-provider</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.5.4</version>
</dependency>
②:添加 dubboConsumer.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<!-- 提供方应用信息,用于计算依赖关系 -->
<dubbo:application name="spring-boot-hello"/>
<!-- 这里使用的注册中心是zookeeper -->
<dubbo:registry address="${dubbo.registry.address}" client="zkclient"/>
<!-- 用dubbo协议在20880端口暴露服务 -->
<dubbo:protocol name="${dubbo.protocol.name}" port="${dubbo.protocol.port}"/>
<!-- 引用dubbo服务:从注册中心中查找服务 -->
<!--创建 dubbo服务-->
<dubbo:reference interface="com.neo.controller.MonitorService" id="monitorService" check="false"></dubbo:reference>
</beans>
③:测试
注入项目一接口service, 调用接口。 项目一先启动。
@Controller
public class DubboController {
@Autowired
private MonitorService monitorService;
@RequestMapping("/consumer")
@ResponseBody
public String testConsumer() {
monitorService.testDubbo();
return "success";
}
}
zookeeper 安装,自行百度。