![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
zookeeper
文章平均质量分 86
Lucifer Zhao
热爱软件开发,渴望提升自我;
希望我的指尖具有改变世界的力量
展开
-
zookeeper核心源码分析
zookeeper server单机启动流程(1) 加载zookeeper配置文件zoo.cfg(2) 创建Jetty Admin Server监听(监听zk server)(3)创建ServerCnxnFactory(默认是NIO,可以配置为Netty)(4) ServerCnxnFactory启动(5)第一次启动zk server初始化创建5个默认节点(6) 初始化事务日志与数据快照文件(7) 加载数据(8) zookeeper server启动(8.1) 启动session会话管..原创 2022-08-30 23:48:24 · 540 阅读 · 0 评论 -
zookeeper之注册中心
服务注册:springboot项目启动时,自定义监听器ApplicationListener去监听web服务启动事件web server启动成功,则触发事件回调方法回调方法中,在zookeeper指定节点下创建临时节点,临时节点的值保存当前项目启动的 ip + port如果某个服务宕机,服务断开一定时间(默认30s)临时节点会自动删除服务发现:springboot项目启动时,会从zookeeper指定节点获取对应服务的所有可用url列表(可以缓存此url列表)根据负载均衡算法,将请求负载...原创 2022-08-26 00:01:31 · 4589 阅读 · 0 评论 -
CentOS 7安装zookeeper
zookeeper单机安装和集群搭建原创 2022-08-06 00:04:10 · 867 阅读 · 0 评论 -
zookeeper之session管理
客户端建立连接ClientCnxn.SendThreadpublic void run() { startConnect(serverAddress); //开始和服务端建立连接}private void startConnect(InetSocketAddress addr) throws IOException { clientCnxnSocket.connect(addr);}ClientCnxnSocketNIOvoid connect(InetSoc..原创 2021-09-27 23:23:27 · 353 阅读 · 0 评论 -
zookeeper源码分析之leader选举
zookeeper源码分析设计步骤传一个zoo.cfg配置文件 快照数据加载 zoo.cfg配置文件解析 启动服务监听 --> IP:2181 (NIO / Netty) 集群环境,涉及leader选举、数据同步 监控(Prometheus,JMX)核心源码...原创 2021-09-02 23:05:36 · 249 阅读 · 0 评论 -
zookeeper源码分析之watcher机制
传一个zoo.cfg数据 -- > 快照数据加载zoo.cfg配置文件解析启动服务监听 --> IP:2181 (NIO / Netty)集群环境(leader选举,数据同步)监控(Prometheus、JMX)原创 2021-08-25 23:11:17 · 185 阅读 · 0 评论 -
zookeeper之配置中心
配置中心工作流程服务启动时,加载远程配置到配置中心 当需要修改配置时,通过配置中心后台控制台修改配置 配置中心的配置改动会同步到每个server上原创 2021-08-25 20:34:39 · 3277 阅读 · 2 评论 -
zookeeper实现分布式锁及Leader选举原理
synchronized锁只能解决单个进程下多线程问题,而针对多个进程(比如多个用户参与秒杀)的情况,是无法解决的,所以需要依赖第三方独立中间件来实现分布式锁。zookeeper是负责分布式协调,所以可以实现分布式锁。依赖zookeeper特性实现分布式锁:同目录下节点唯一:可以依赖zookeeper的特性之一:同一节点下只能创建一个名字相同的节点;那么创建节点成功的客户端就抢占到了锁,没有创建成功的客户端就没有竞争到锁。但是会有惊群效应问题,一个客户端释放了锁,其他所有客户端都会再次去竞争,然而只原创 2021-08-25 20:33:39 · 573 阅读 · 0 评论 -
zookeeper架构设计及原理分析
zookeeper集群角色leader:负责事务操作,负责数据同步 follower:负责数据读取 observer:只从leader节点同步数据,但不参与投票选举集群搭建准备至少3个服务器:192.168.221.128、192.168.221.129、192.168.221.130在dataDir目录(可在配置文件查看目录)下创建myid文件,文件内容是id号修改zoo.cfg# server.id=ip:port1:port2,第一个端口是数据同步,第二个端口是leader原创 2021-08-22 22:53:09 · 165 阅读 · 0 评论 -
Zookeeper基础
分布式协调中间件(决策者),让多个节点数据达成一致官网:https://zookeeper.apache.org/常用命令bin/zkServer.sh status #查看zk状态bin/zkServer.sh start #启动zkbin/zkServer.sh stop #停止zkbin/zkServer.sh restart #重启zkbin/zkCli.sh -server 127.0.0.1:2181 #连接到zk启动zookeeper需要配置conf/zoo.cfg原创 2021-08-14 22:24:51 · 5553 阅读 · 1 评论