如何在Crystal框架项目中内置启动Zookeeper服务?

当Crystal框架项目需要使用到Zookeeper服务时(如使用Dubbo RPC时,需要注册服务到Zookeeper),而独立部署和启动Zookeeper服务不仅繁琐,也容易出现错误。

在小型项目或开发阶段时,建议将Zookeeper服务内嵌到Crystal框架项目中启动。

分步指南

Crystal框架项目中引入crystal-extend-zookeeper模块即可,如下:

<dependency>
<groupId>com.gsoft.crystal</groupId>
<artifactId>crystal-extend-zookeeper</artifactId>
</dependency>

默认情况下,Zookeeper服务启动端口为2181,可以通过Crystal框架参数覆盖机制,重新配置如下参数:

zk.server.port=2181
zk.server.tickTime=1000
zk.server.baseDirectory=d:/zookeeper
zk.server.snapDirectory=d:/zookeeper/snaps
zk.server.logDirectory=d:/zookeeper/logs
zk.server.max.connections=4096
zk.server.baseDirectory参数未指定时,默认为系统临时文件夹;
zk.server.snapDirectory参数未指定时,默认为baseDirectory下的zookeeper/snaps;
zk.server.logDirectory参数未指定时,默认为baseDirectory下的zookeeper/logs;

启动项目时,Zookeeper服务将自动启动。

内嵌的Zookeeper服务为单机模式,需要集群的话,必须独立部署。

posted @ 2016-05-16 10:10  俊雨廷休  阅读(501)  评论(0编辑  收藏  举报