• Zookeeper


    序言 

    ZooKeeper 的典型应用场景

    解决数据一致性问题

    假设卖家更新成功之后买家立马就能看到卖家的更新,则称为强一致性;

    如果卖家更新成功后买家不能看到卖家更新的内容,则称为弱一致性;

    而卖家更新成功后,买家经过一段时间最终能看到卖家的更新,则称为最终一致性。

    如何保证在分布式环境下数据的最终一致,这个就是zookeeper需要解决的问题。

    zookeeper到底能做什么?

    出现主备切换的情况,而zookeeper正是为主备切换保驾护航。

    先来推理一下,主备切换会出现什么问题。传统的主备切换,可以让主备之间维持心跳连接,一旦备机发现主机心跳检测不到了,则自己切换为主机,原来的主机等待救援。这种方式有两个问题,一是由于网络抖动,负载过大等问题,备机检测不到心跳并不能说明主机一定挂了,有可能一定时间后主机或网络恢复,这时候主机并不知道备机已经切换为主机,2台主机互相争用,可能造成脑裂;二是如果一些数据集中在主机上面,则备机切换时由于同步延时势必会损失掉一部分的数据。

    如何解决这些问题?早期的方式提供了不少解决方案,比如备机一旦切换为主机,则通过电源控制直接切断主机电源,简单粗暴,但是此刻备机已经是单点,如果主机是因为量撑不住而挂,那备机有可能会重蹈覆辙,最终导致整个服务不可用。

    资料

    http://blog.csdn.net/tswisdom/article/details/41522069

  • 相关阅读:
    python的参数传递
    django的objects级别的权限控制
    django如何将mysql数据库转化为model
    django的orm查询使用in的保序
    多用户OFDM系统资源分配研究
    第一代到第四代多址技术:从FDMA、TDMA、CDMA到OFDMA
    Kaggle比赛总结
    4 二维数组中的查找 JavaScript
    5 替换空格 JavaScript
    简单的HTTP协议
  • 原文地址:https://www.cnblogs.com/cnki/p/6776422.html
Copyright © 2020-2023  润新知