网站google搜索优化,企业简介优势项目案例等模块点选即用,wordpress图片排列显示,织梦网站上传图片不行本文内容很容易理解#xff0c;会阐述当dubbo使用zookeeper作为注册中心时候#xff0c;zookeeper节点是什么样子的
本文的代码使用的dubbo版本是2.7.x#xff0c;几年前的版本了#xff0c;但是不影响探究
首先我们创建一个简单的maven项目#xff0c;然后写出一段dubb…本文内容很容易理解会阐述当dubbo使用zookeeper作为注册中心时候zookeeper节点是什么样子的
本文的代码使用的dubbo版本是2.7.x几年前的版本了但是不影响探究
首先我们创建一个简单的maven项目然后写出一段dubbo provider代码服务提供者然后启动服务之后观察zookeeper节点样子
pom.xml文件需要引用2个依赖如下
!-- dubbo的依赖 --
dependencygroupIdorg.apache.dubbo/groupIdartifactIddubbo/artifactIdversion2.7.23/version
/dependency!-- 使用zookeeper作为注册中心的时候dubbo要通过zookeeper客户端操作zookeeper
这个curator就是zookeeper客户端zookeeper客户端还有一个是zkClient本文中我们
使用curator不使用zkClient --
dependencygroupIdorg.apache.dubbo/groupIdartifactIddubbo-remoting-zookeeper-curator5/artifactIdversion2.7.23/version
/dependency创建服务接口
package aa.bb;
public interface User {String getUserName();
}创建服务接口实现类
package aa.bb;public class UserImpl implements User {Overridepublic String getUserName() {// 返回一段文本陈述一段客观事实return HR is a little bitch;}
}创建服务提供者代码provider
public class Provider {public static void main(String[] args) throws IOException {ServiceConfigUser service new ServiceConfig();service.setApplication(new ApplicationConfig(service_provider));service.setRegistry(new RegistryConfig(zookeeper://127.0.0.1:2181));service.setInterface(User.class);service.setRef(new UserImpl());ProtocolConfig protocolConfig new ProtocolConfig();protocolConfig.setTelnet(invoke);// 允许使用telnet命令调用dubbo服务protocolConfig.setHost(127.0.0.1);protocolConfig.setPort(20880);protocolConfig.setName(dubbo);// 这个协议名必填而且不能乱写service.setProtocol(protocolConfig);service.export();System.out.println(服务提供方启动成功并且已经注册到zookeeper);System.in.read();}}打开zookeeperzookeeper初始节点是下面这样子的
运行上述的main函数之后会发现zookeeper中节点的样子如下
dubbo本文中有个代码是new RegistryConfig这个对象有一个setGroup()方法因为我们没有调用该方法所以根目录是dubbo如果我们setGroup(HR)那么根目录就会变成HR dubbo/aa/bb/user表示本文中的public interface User接口服务 dubbo/aa/bb/user/providers服务提供者的目录你可以使用相同的代码再打开一个IDEA或者Eclipse然后运行这段代码此时providers目录下面就会有2条数据 dubbo/aa/bb/user/configurators服务提供者动态配置相关的元数据信息后续文章单独讨论
好了本文就到这里其实非常的简单主要是想大概过一下dubbo注册到zookeeper之后节点是什么样子的要是你写dubbo也基本就是这样设计节点没什么出彩的但是必须要了解一下方便后续读dubbo注册中心模块源码的时候知道如何创建节点的
虽然本文没有写consumers的代码但是聪明的你应该能预见到如果有consumers那么应该会在dubbo/aa/bb/user/providers同级目录出现一个dubbo/aa/bb/user/consumers的新目录没错确实是这样