**在上一篇我们使用mulitcast来作为注册中心搭建了dubbo分布式应用程序。注册中心不止multicast,还有zookeeper,redis。这节我们使用zookeeper来做注册中心来搭建分布式项目。
如果看过前一篇,那么这节使用zookeeper将会非常简单,这里我们引用上节的项目案例来讲解。**
1.下载zookeeper应用程序:
进入zookeeper官网:https://zookeeper.apache.org/下载
2.修改配置文件:
解压下载的zookeeper应用程序,进入conf文件目录:
zoo_sample.cfg修改成zoo.cfg,打开zoo.cfg修改以下参数:
# 内存数据的备份地址
dataDir=F://zookeeper-3.4.5//data
# 存放日志地址
dataLogDir=F://zookeeper-3.4.5//log
3.启动zookeeper
经过上面的配置我们已经完成了zookeeper的修改,下面我们进入bin目录运行zkServer.cmd(如果是linux服务器则运行zkServer.sh),如下图,我们已经启动zookeeper:
4.修改注册中心
下面我们只需修改服务端和客户端的注册中心即可启动:
// registryConfig.setAddress("multicast://224.5.6.7:1234");
registryConfig.setAddress("zookeeper://127.0.0.1:2181");
添加zookeeper的依赖:
<!-- zookeeper -->
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.2</version>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.5</version>
</dependency>
另外,我们再添加log4j.properties日志文件方便观察调试:
log4j.rootLogger=error,Console,OneFile,errFile
#\u8F93\u51FA\u5230\u63A7\u5236\u53F0
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.encoding=utf-8
log4j.appender.Console.Target=System.out
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH\:mm\:ss,SSS}][%c]%m%n
#\u8F93\u51FA\u5230\u6587\u4EF6\u7EA7\u522B\u4E3Ainfo
log4j.appender.OneFile=org.apache.log4j.RollingFileAppender
log4j.appender.OneFile.encoding=utf-8
log4j.appender.OneFile.File=../logs/test-map/info.log
log4j.appender.OneFile.MaxFileSize=10MB
log4j.appender.OneFile.MaxBackupIndex=50
log4j.appender.OneFile.Threshold=INFO ## \u53EA\u8F93\u51FAINFO\u7EA7\u522B\u4EE5\u4E0A\u7684\u65E5\u5FD7!!!
log4j.appender.OneFile.layout=org.apache.log4j.PatternLayout
log4j.appender.OneFile.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH\:mm\:ss,SSS}][%c]%m%n
#\u8F93\u51FA\u5230\u6587\u4EF6\u7EA7\u522B\u4E3Aerror
log4j.appender.errFile=org.apache.log4j.RollingFileAppender
log4j.appender.errFile.encoding=utf-8
log4j.appender.errFile.File=../logs/test-map/error.log
log4j.appender.errFile.MaxFileSize=10MB
log4j.appender.errFile.MaxBackupIndex=50
log4j.appender.errFile.Threshold=ERROR ## \u53EA\u8F93\u51FAERROR\u7EA7\u522B\u4EE5\u4E0A\u7684\u65E5\u5FD7!!!
log4j.appender.errFile.layout=org.apache.log4j.PatternLayout
log4j.appender.errFile.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH\:mm\:ss,SSS}][%c]%m%n
至此,我们已经完成了dubbo+zookeeper注册中心的分布式应用程序开发。