zoukankan      html  css  js  c++  java
  • memcached 如何处理容错的?

    不处理! memcached 节点失效的情况下,集群没有必要做任何容错处理。如

    果发生了节点失效,应对的措施完全取决于用户。节点失效时,下面列出几种方

    案供您选择:

    忽略它! 在失效节点被恢复或替换之前,还有很多其他节点可以应对节

    点失效带来的影响。

    把失效的节点从节点列表中移除。做这个操作千万要小心!在默认情况下

    (余数式哈希算法),客户端添加或移除节点,会导致所有的缓存数据不可用!

    因为哈希参照的节点列表变化了,大部分 key 会因为哈希值的改变而被映射到

    (与原来)不同的节点上。

    启动热备节点,接管失效节点所占用的 IP。这样可以防止哈希紊乱

    hashing chaos)。

    如果希望添加和移除节点,而不影响原先的哈希结果,可以使用一致性哈

    希算法(consistent hashing)。您可以百度一下一致性哈希算法。支持一致性

    哈希的客户端已经很成熟,而且被广泛使用。去尝试一下吧!

    两次哈希(reshing)。当客户端存取数据时,如果发现一个节点 down

    了,就再做一次哈希(哈希算法与前一次不同),重新选择另一个节点(需要注

    意的时,客户端并没有把 down 的节点从节点列表中移除,下次还是有可能先

    哈希到它)。如果某个节点时好时坏,两次哈希的方法就有风险了,好的节点和

    坏的节点上都可能存在脏数据(stale data)。

  • 相关阅读:
    Mac使用nginx+rtmp服务器
    iOS开发必不可少的76个工具
    AVPlayer缓存实现
    视频直播分析
    github部分有意思的库记录
    iOS四种多线程(swift和oc)
    Java的static关键字浅析
    JavaScript获取屏幕参数
    JavaScript中XMLHttpRequest实现跨域访问
    【CenchaTouch 学习笔记】Controller
  • 原文地址:https://www.cnblogs.com/programb/p/13020724.html
Copyright © 2011-2022 走看看