zookeeper
快乐的码农一枚
这个作者很懒,什么都没留下…
展开
-
Eureka 比 zookeeper 更适合服务注册中心
注册中心是 CP 还是 AP 系统 Eureka作为AP更适合服务注册中心 注册中心不能因为自身的任何原因破坏服务之间本身的可连通性,这是注册中心设计应该遵循的铁律 当数据中心服务规模超过一定数量 (服务规模=F{服务pub数,服务sub数}),作为注册中心的 ZooKeeper 很快就会像下图的驴子一样不堪重负 注册中心需要持久存储和事务日志 服务调用并不关注注册中心的本身节点的变化情况;只想关注提供服务的节点的一些元数据(比如中心标识、路由等) ...原创 2020-06-03 14:48:14 · 121 阅读 · 0 评论 -
zk 和 redis分布式区别
redis 获取锁的方法比较粗暴,获取不到,则是不断的重试; 不是强一致性的,会在极端的情况下出现问题(时间偏移、红锁半数以上的节点才可以成功,会出现某节点出现宕机。导致两个以上的客户端获取半数以上投票而获取分布式锁、主从节点模式下(主从不一致的情况会导致,两个以上客户端获取分布式锁)) redis的性能比zk高对于zk分布式锁而言:强一致性的特征; 获取不到锁的客户端只需要监听事件则可,无需不停的重试 客户端与zk节点出现网络问题的情况下,会出现锁自动失效的可能(同一局域网下,出现的几率几.原创 2020-06-29 10:08:30 · 3572 阅读 · 0 评论 -
分布式锁
加锁步骤 1)查看key是否存在2)如果不存在,则设置key 值为当前的threadId + 当前服务器的标识ID 和 锁次数 并设置超时时间3)已经存在,查询值是否是当前的线程Id,如果是只 增加锁次数2)已经存在,但是并非当前线程锁定的,则ppl查询其超时时间并返回剩余时间 if (redis.call('exists', KEYS[1])==0) ...原创 2020-01-13 10:18:04 · 110 阅读 · 0 评论 -
canal HA模式配置
机器a. 运行canal的机器: 10.20.144.22 , 10.20.144.51.b. zookeeper地址为10.20.144.51:2181c. mysql地址:10.20.144.15:3306修改配置 canal.properties,加上zookeeper配置canal.zkServers=10.20.144.51:2181 canal.instance.global.spring.xml = classpath:spring/default-i...原创 2020-05-20 11:22:18 · 150 阅读 · 0 评论 -
zookeeper 选主
先说明一下两个概念 sid代表当前节点的编号 zxid代表事务id,递增的投票分两个步骤,第一步则每个节点都投自身(sid. zxid) 第二阶段,接收到其他节点的投票数据,进行和自身比较,优先比较zxid(选大的),后再比较sid;如果发现其他节点的投票比自己节点大,则修改当前节点的投票数据 进行统计投票结果,过半数则当选为leader...原创 2020-05-18 10:55:19 · 138 阅读 · 0 评论