app软件小程序网站建设,传统企业公司网站优化案例,wordpress5.0老版编辑器,模块化html5网站开发ZooKeeper和Dubbo是两个在分布式系统中常用的开源框架#xff0c;它们可以协同工作#xff0c;提供服务注册与发现、分布式协调等功能。
- 服务注册与发现#xff1a;
Dubbo服务提供者将自己的信息#xff08;如IP地址、端口、服务名等#xff09;注册到ZooKeeper上它们可以协同工作提供服务注册与发现、分布式协调等功能。
- 服务注册与发现
Dubbo服务提供者将自己的信息如IP地址、端口、服务名等注册到ZooKeeper上作为服务的提供者。Dubbo服务消费者从ZooKeeper上获取服务提供者的信息实现服务的发现。
公共依赖包common接口
public interface UserService {String getUser();
}
生产者和消费者Springboot版本这里都为2.7.2都导入公共依赖包另外都在服务启动类上添加EnableDubbo注解导入依赖如下 dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependencydependencygroupIdorg.apache.dubbo/groupIdartifactIddubbo-spring-boot-starter/artifactIdversion3.0.7/version/dependencydependencygroupIdorg.apache.dubbo/groupIdartifactIddubbo-rpc-dubbo/artifactIdversion3.0.7/version/dependencydependencygroupIdorg.apache.dubbo/groupIdartifactIddubbo-registry-zookeeper/artifactIdversion3.0.7/version/dependencydependencygroupIdorg.example/groupIdartifactIdcommon/artifactIdversion0.0.1-SNAPSHOT/version/dependencydependencygroupIdorg.apache.zookeeper/groupIdartifactIdzookeeper/artifactIdversion3.9.1/version/dependency
消费者代码如下
application.yaml如下
dubbo:application:name: consumerprotocol:name: dubboport: 20880registry:address: zookeeper://127.0.0.1:2181server:port: 9090
RestController
public class TestController {//UserService接口DubboReference(version 1.0)private UserService userService;RequestMapping(/test)public String test(){return userService.getUser();}
}
生产者代码如下
application.yaml如下
server:port: 8082dubbo:application:name: providerprotocol:name: dubboport: 20880registry:address: zookeeper://127.0.0.1:2181
DubboService(version 1.0)
public class UserServiceImpl implements UserService {public String getUser(){return hello world;}
}通过访问localhost:9090/test可以访问到8082端口的hello world数据。由此Dubbo可以基本的实现远程服务调用。