日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

一致性环Hash算法.NET实现

發布時間:2023/12/19 asp.net 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一致性环Hash算法.NET实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一致性環Hash算法有一個大用處就是解決Memcache服務器down機問題的。目的是增加或者移除Memcache服務器后,最大限度的減少所受影響。

理論方面的就不介紹了,網上有太多資料了,請大家自己搜索搜索。

在此寫了一個ConsistencyRing類來實現算法,具體代碼在此下載。

測試類如下:

public static void Test(){{ConsistencyRing cr = new ConsistencyRing();Console.WriteLine("=============AddServer Test=============");cr.AddServer("1");cr.AddServer("5");cr.AddServer("9");cr.AddServer("11");cr.AddServer("3");Console.WriteLine("=============RemoveServer Test=============");cr.RemoveServer("5");cr.RemoveServer("3");cr.RemoveServer("1");cr.RemoveServer("9");}{ConsistencyRing cr = new ConsistencyRing();cr.AddServer("1");cr.AddServer("5");cr.AddServer("9");cr.AddServer("11");cr.AddServer("3");Console.WriteLine("=============GetServerIp Test=============");string key;string serverIp;key = "A1";serverIp = cr[key];Console.WriteLine("A1所在IP:" + serverIp);cr.RemoveServer("9");serverIp = cr[key];Console.WriteLine("A1所在IP:" + serverIp);}}

上面AddServer/RemoveServer中的參數為了演示,因此改成了簡潔的數字string,大家使用時完全可以用192.168.1.1這樣的string來傳。?

運行結果:

可以看到,增加刪除節點后,都不會影響不相關節點。?

點擊代碼下載

?

?

轉載于:https://www.cnblogs.com/aarond/p/ConsistencyRingHash.html

總結

以上是生活随笔為你收集整理的一致性环Hash算法.NET实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。