使用zookeeper作为分布式节点的配置中心

安装

bash 复制代码
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz
tar xfzv zookeeper-3.4.9.tar.gz && mv zookeeper-3.4.9/conf/zoo_sample.cfg zookeeper-3.4.9/conf/zoo.cfg
vim zoo_sample.cfg zookeeper-3.4.9/conf/zoo.cfg
把dataDir修改合适的目录

使用

bash 复制代码
cd zookeeper-3.4.9/bin
sudo ./zkServer.sh start/stop  #启动zk服务器
sudo ./zkCli.sh  #客户端连接服务器

zk的数据组织结构是树状
ls / 列出当前目录节点; get /zookeeper获取节点数据; 
set /zookeeper 10 设置节点数据; 
create /test 创建节点; delete /test 删除节点; deleteall /test 删除节点及子节点;
我们主要关注2个数据:第一行设置的数据,以及ephmeralOwner = 0x0 永久节点,非0临时节点

分布式中的使用

一个服务器就是一个节点,我们同样以树状结构把服务和方法以及ip,port注册进zk,使其形成这样的结构:/UserServiceRpc/Login/127.0.0.1:8001

一般是要进行zk的api编程:这里以c为例:

bash 复制代码
cd zookeeper-3.4.9/src/c
./configure --prefix=/xxx
打开makefile 548行,AM_CFLAGS = -Wall -Werror  去掉-Werror
make -j4
make install

编译完得到include和lib,即可使用他们进行客户端编程。

相关推荐
Kiyra7 小时前
WebSocket vs HTTP:为什么 IM 系统选择长连接?
分布式·websocket·网络协议·http·设计模式·系统架构·wpf
程序员阿鹏11 小时前
怎么理解削峰填谷?
java·开发语言·数据结构·spring·zookeeper·rabbitmq·rab
程序员阿鹏13 小时前
分布式事务管理
java·开发语言·分布式
武子康14 小时前
Java-213 RocketMQ(MetaQ)演进与核心架构:NameServer/Broker/Producer/Consumer 工作机制
大数据·分布式·架构·消息队列·系统架构·rocketmq·java-rocketmq
2301_7679026415 小时前
Ceph 分布式存储从入门到实战
分布式·ceph
FinTech老王15 小时前
制造业Oracle迁移替换:集中式vs分布式架构如何选择?
分布式·oracle·架构
风跟我说过她15 小时前
HBase完全分布式部署详细教程(含HA高可用版+普通非HA版)
大数据·数据库·分布式·centos·hbase
十五年专注C++开发16 小时前
Jieba库: 一个中文分词领域的经典库
c++·分布式·自然语言处理·中文分词
Vic1010116 小时前
【无标题】
java·数据库·分布式
武子康17 小时前
Java-216 RocketMQ 4.5.1 在 JDK9+ 从0到1全流程启动踩坑全解:脚本兼容修复(GC 参数/CLASSPATH/ext.dirs)
java·大数据·分布式·消息队列·系统架构·rocketmq·java-rocketmq