美文网首页
zookeeper的特征

zookeeper的特征

作者: test_java | 来源:发表于2020-10-19 13:44 被阅读0次

    集群模式部署

    1.一般情况下,为奇数 ,5台,或者3台, 适用小集群 ,读多写少、
    2. 主从架构, (leader,fowller)
    3.客户端与zk进行是长链接,TCP ,心跳 和 seeson保持
    4.zxid 64位 高32位为leader的ecphe ,低32位为 zxid ,自增长类
    5.遵循ZAB协议, 2PC ,过半ack+磁盘日志写 ,commit+写内存日志结构
    6. 支持 Wather机制, 监听回调通知
    7.顺序一致性: 消息按顺序同步,但是最终才会一致,不能强一致。
    8.高性能 2PC中的过半机制,纯内存的数据结构,znode
    9.高可用,fowller宕机没有影响,leader宕机有数据不一致的问题,重新选举leader会自动处理,正常运行,但是在恢复模式期间,可能有小段时间没法写入zk中。
    10高并发, 单机情况下,Observer可以线性扩展读QPS
    zk的模型

    Zookeeper分布式锁中的羊群效应及解决方案

    获取锁时创建一个临时顺序节点,顺序最小的那个才能获取到锁,之后尝试加锁的客户端就监听自己的上一个顺序节点,当上一个顺序节点释放锁之后,自己尝试加锁,其余的客户端都对上一个临时顺序节点监听,不会一窝蜂的去尝试给同一个节点加锁导致羊群效应。

    1.所有客户端都尝试去创建临时有序节点以获取锁

    2.序号最小的临时有序节点获得锁

    3.未获取到锁的客户端给自己的上一个临时有序节点添加监听

    4.获得锁的客户端进行自己的操作,操作完成之后删除自己的临时有序节点

    5.当监听到自己的上一个临时有序节点释放了锁,尝试自己去加锁

    6.操作完成之后释放锁

    7.之后剩下的客户端重复加锁和解锁的操作

    分布式锁

    相关文章

      网友评论

          本文标题:zookeeper的特征

          本文链接:https://www.haomeiwen.com/subject/pydkmktx.html