隨筆-35  評論-33  文章-0  trackbacks-0
                 為什么需要一致性hash算法?

          在緩存應用層面,如何保證數據訪問的平橫性,單調性?

          平橫性:主要是數據的平均分布,及當集群中某一個緩存服務失效,數據也能夠正常分布

          單調性:當數據插入某個緩存之后,再次調用,同樣會落到對應的緩存上面。

          兩個算法比較:

          consistent hashing:通常做法就是通過一個環狀來對緩存的key進行均橫分布,如果不能命中,查找相鄰節點。另外,通過虛擬結點部分解決

          數據的平橫性問題(不能根本解決)。因為,節點如果失效較多,數據還是不均橫。

          RendezvousHash:HRW,高可能隨機權重算法,這個算法的NB之處就在于解決了上面兩個問題。

          看圖:



          可以看出,完勝。

          我們代碼中如何操作:

          1 初始化


          2 通過KEY取對應的hash


          3 與業務中的REDIS緩存實例進行映射


          這樣,redis就可以橫向擴展了。



          我的微信公眾號,歡迎溝通學習。
          posted on 2016-03-02 18:36 alexcai 閱讀(3032) 評論(1)  編輯  收藏

          評論:
          # re: 一致性hash算法(consistent hashing and HRW ) 2016-03-11 11:13 | docker
          珠三角地區關注這方面技術的同學可以加
          QQ群479189837   回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 阆中市| 富阳市| 曲松县| 民权县| 淳化县| 鸡东县| 马关县| 隆尧县| 长海县| 镇平县| 德江县| 元氏县| 关岭| 宣武区| 涞源县| 天水市| 青州市| 长葛市| 根河市| 伊宁县| 习水县| 烟台市| 丰镇市| 铜梁县| 兴化市| 斗六市| 长垣县| 漾濞| 易门县| 海兴县| 长葛市| 鲜城| 泰兴市| 弥勒县| 三都| 读书| 北辰区| 普兰店市| 石门县| 亚东县| 陆良县|