Dubbo使用Zookeeper注册中心
在生产环境下使用最多的注册中心为Zookeeper,当然,Redis也可以做注册中心
一、创建提供者02-provider-zk
(1) 导入依赖
https://blog.csdn.net/u012965203/article/details/96700308
复制前面的提供者工程01-provider,并更名为02-provider-zk。修改pom文件,并在其中导入Zookeeper客户端依赖curator
-
<!-- zk客户端依赖:curator -->
-
<dependency>
-
<groupId>org.apache.curator</groupId>
-
<artifactId>curator-recipes</artifactId>
-
<version>2.13.0</version>
-
</dependency>
-
<dependency>
-
<groupId>org.apache.curator</groupId>
-
<artifactId>curator-framework</artifactId>
-
<version>2.13.0</version>
-
</dependency>
(2) 修改spring配置文件
二、创建消费者02-consumer-zk
(1) 导入依赖
复制前面的消费者工程01-consumer,并更名为02-consumer-zk。修改pom文件,并在其中导入Zookeeper客户端curator依赖
https://blog.csdn.net/u012965203/article/details/96700308
-
<!-- zk客户端依赖:curator -->
-
<dependency>
-
<groupId>org.apache.curator</groupId>
-
<artifactId>curator-recipes</artifactId>
-
<version>2.13.0</version>
-
</dependency>
-
<dependency>
-
<groupId>org.apache.curator</groupId>
-
<artifactId>curator-framework</artifactId>
-
<version>2.13.0</version>
-
</dependency>
(2) 修改Spring配置文件
三、添加日志文件
提供者与消费者工程的类路径src/main/resources下添加日志文件。可以添加log4j.xml,即使用log4j2日志技术;也可以添加log4j.properties,即使用log4j日志技术
-
log4j.appender.console=org.apache.log4j.ConsoleAppender
-
log4j.appender.console.Target=System.out
-
log4j.appender.console.layout=org.apache.log4j.PatternLayout
-
log4j.appender.console.layout.ConversionPattern=[%-5p] %m%n
-
-
log4j.rootLogger=info,console
(1)提供者添加日志文件
在提供者的src/main/resources目录中添加log4j.properties文件,运行后可以看到如下的日志输出。其中最为重要的是provider://xxxxx,这里显示的就是当前工程所提供的能够被订阅的服务描述,即服务元数据信息。另外,还可以看到当前应用与qos-server(Quality of Service服务器,即Dubbo的管控平台)进行通信的端口号为22222。
(2) 消费者添加日志文件
在提供者的src/main/resources目录中添加log4j.properties文件。运行后在控制台的日志输出中可以看到报错。其报错内容原因是,消费者连接qos-server的端口号被占用了。其与qos-server通信的端口号默认也为22222,已经被提供者给占用了。当然,原因主要是由于消费者与提供者都在同一主机,若分别存在于不同的主机也不会报错
解决方案spring-consumer.xml文件中修改
最新文章
- 填坑系列:通过ESXi来配置IPMI
- web前端之HTML的大框架(body元素与frameset元素)
- Volley之 JsonRequest 解析JSON 数据
- 如何在winform或者wpf里面打开浏览器并设置宽高位置
- python使用代理ip发送http请求
- 首先,编写一个类ChongZai,该类中有3个重载的方法void print();其次, 再编写一个主类来测试ChongZai类的功能
- linux内核启动以及文件系统的加载过程
- 2600: [Ioi2011]ricehubh
- 【ZOJ 3897】Candy canes//Fiddlesticks
- title及alt提示特效
- 注意padding-top 百分比定义基于父元素宽度的百分比上内边距!!是基于宽度
- 【转】C# 解析JSON格式数据
- ZOJ 3279
- zoj 2110
- Angularjs,WebAPI 搭建一个简易权限管理系统
- .NET开发一个微信跳一跳辅助程序
- Flask连接数据库打怪升级之旅
- nyoj 寻找最大数
- 44)django-环境变量设置
- Unity3D料槽设备旋转(一)
热门文章
- 端口扫描工具 nmap 使用手册
- 攻防世界 WEB 高手进阶区 XCTF Web_python_template_injection Writeup
- Java8新特性之方法引用&;Stream流
- webpack 配置devServer 服务器
- mybatis中批量插入的两种方式(高效插入)
- 你会用ES6,那倒是用啊!
- 开源一个由.netcore/.net framework4.6开发的saas微商城+独立部署版本微小程序商城
- Roslyn 编译器Api妙用:动态生成类并实现接口
- [bzoj1711]吃饭
- [atARC066F]Contest with Drinks Hard