随笔分类 -  Zookeeper

摘要:为什么需要分布式锁 如上图, 在分布式系统中,订单模块为了迎战高并发,订单服务被横向拆分,拆分成了不同的进程,就像上图,两个人同时访问订单服务,然后订单系统1和订单系统2共用一个Mysql当成数据库,经过他们查询发现仅有一件商品,所以他们自个认为都可以下单 如果不加锁限制,可能会出现库存减为负数的情 阅读全文
posted @ 2019-10-05 11:52 赐我白日梦 阅读(1081) 评论(4) 推荐(0) 编辑
摘要:前言 ZooKeeper对Zab协议的实现有自己的主备模型,即Leader和learner(Observer + Follower),有如下几种情况需要进行领导者的选举工作 情形1: 集群在启动的过程中,需要选举Leader 情形2: 集群正常启动后,leader因故障挂掉了,需要选举Leader 阅读全文
posted @ 2019-10-04 18:16 赐我白日梦 阅读(3061) 评论(0) 推荐(4) 编辑
摘要:入口 书接上篇博客中的ZK集群启动后完成数据的统一性恢复后, 来到启动ZkServer的逻辑,接下来的重点工作就是启动不同角色的对应的不同的处理器Processor 如上图查看 的继承图,三种不同的角色有不同的 的实现逻辑类 三者启动时,都将会来到 中的 方法中,源码如下, 但是,不同的角色针对 进 阅读全文
posted @ 2019-10-03 16:16 赐我白日梦 阅读(1079) 评论(0) 推荐(0) 编辑
摘要:什么是数据一致性? 只有当服务端的ZK存在多台时,才会出现数据一致性的问题, 服务端存在多台服务器,他们被划分成了不同的角色,只有一台Leader,多台Follower和多台Observer, 他们中的任意一台都能响应客户端的读请求,任意一台也都能接收写请求, 不同的是,Follower和Obser 阅读全文
posted @ 2019-10-03 10:33 赐我白日梦 阅读(9832) 评论(1) 推荐(0) 编辑
摘要:程序的入口 "点击查看上图原文地址( zhaoyu_nb)" 初始化和启动总览 跟进 方法 , 这个方法中主要做了如下三件事 从 解析出配置文件的位置,创建 配置类对象(可以把这个对象理解成单个ZK server的配置对象),然后将配置文件中的内容加载进内存,并完成对java配置类的属性的赋值 开启 阅读全文
posted @ 2019-10-02 13:42 赐我白日梦 阅读(1498) 评论(0) 推荐(0) 编辑
摘要:2020 02 08 补充流程图 如果对您有帮助,欢迎点赞支持, 如果有不对的地方,欢迎指出批评 什么是ACL(Access Control List) zookeeper在分布式系统中承担中间件的作用,它管理的每一个节点上可能都存储这重要的信息,因为应用可以读取到任意节点,这就可能造成安全问题,A 阅读全文
posted @ 2019-09-27 15:53 赐我白日梦 阅读(1964) 评论(0) 推荐(3) 编辑
摘要:2020 02 08 补充本篇博文所描述的watcher回调的流程图 watcher存在的必要性 举个特容易懂的例子: 假如我的项目是基于dubbo+zookeeper搭建的分布式项目, 我有三个功能相同的服务提供者,用zookeeper当成注册中心,我的三个项目得注册进zookeeper才能对外暴 阅读全文
posted @ 2019-09-26 18:42 赐我白日梦 阅读(2626) 评论(0) 推荐(3) 编辑
摘要:2020 0208 补充整个过程的流程图 客户端的启动流程 看上面的客户端启动的脚本图,可以看到,zookeeper客户端脚本运行的入口 ZookeeperMain.java的main()方法, 关于这个类可以理解成它是程序启动的辅助类,由它提供开始的位置,进而加载出zk client的上下文 创建 阅读全文
posted @ 2019-09-25 21:33 赐我白日梦 阅读(1286) 评论(3) 推荐(0) 编辑
摘要:session会话机制 client请求和服务端建立连接,服务端会保留和标记当前client的session,包含 session过期时间,sessionId ,然后服务端开始在session过期时间的基础上倒计时,在这段时间内,client需要向server发送心跳包,目的是让server重置se 阅读全文
posted @ 2019-09-17 21:49 赐我白日梦 阅读(3711) 评论(0) 推荐(0) 编辑
摘要:zookeeper分布式系统中面临的很多问题, 如分布式锁,统一的命名服务,配置中心,集群的管理Leader的选举等 环境准备 分布式系统中各个节点之间通信,Zookeeper保证了这个过程中 数据的唯一性,安全可靠 官网下载地址 修改配置文件 将/conf/zoo_sample.cfg 修改成 z 阅读全文
posted @ 2019-09-16 19:14 赐我白日梦 阅读(772) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示
主题色彩