zookeeper使用(三):项目中zookeeper的配置 和 zookeeper C API的使用
zookeeper使用(三):项目中zookeeper的配置 和 zookeeper C API的使用
一;假定一个项目需求
假设我要启动多台proxy服务,有一个网页客户端需要连接我这台proxy服务,处于项目的稳定和高可用性质,我们肯定不能把proxy的ip和port写死,我们需要始终向外提供一组可用的ip和port,这里就要使用zookeeper了
二:项目环境搭建
一)zookeeper安装:
请参考我之前写的博客:http://blog.****.net/wangdamingll/article/details/53156982
二)zookeeper C API 安装
请参考我之前写的博客:http://blog.****.net/wangdamingll/article/details/74942637
三)zookeeper节点设置:
创建节点命令:
可以参考:http://huangxubo.me/blog/zookeeper/zookeeper-cluster/
cd zookeeper-3.4.9/bin/
#zookeeper集群端口组
./zkCli.sh -server IP:2181,IP:2182,IP:2183
#查看命令
help
#列出根目录
ls /
#创建项目节点
create /WEBPROXY zktest
#查看结果
ls /
#查看项目字节点
ls /WEBPROXY
注意:使用zookeeper集群时,我的习惯是先手动创建好项目节点,项目子节点由proxy程序在代码里通过zookeeper C API 创建并添加到zookeeper集群中,不先创建项目节点,是无法创建项目子节点的,请切记!!
四)项目要点:
1)我们向步骤一、二、三那样还不够,需要在对外提供一个http接口,http接口的功能是获取zookeeper集群中所有可以用的proxy的ip和端口,这样客户端通过调用http接口就可以拿到可以用的ip和port了
2)项目启动顺序:
第一步:先启动zookeeper集群
第二步:手动添加项目节点
第三步:启动http接口
第四步:启动proxy程序
第五步:手动调用http接口,查看返回的ip、port组
三:项目代码编写
这里不说具体的业务逻辑代码了,况且我也不知道各位的业务是什么。
关于如何使用zookeeper C API 的可以参考这2个网址:
zookeeper C API指南:
http://www.cnblogs.com/haippy/archive/2013/02/21/2920280.html
zookeeper C++ 封装的简单例子使用:
http://www.flowlore.com/2017/07/01/c-feng-zhuang-zookeeper-c-api__trashed-2/
zookeeper C API封装:
https://github.com/wangdamingll/zookeeper_cplusplus