Election Hash

大約是六七月的時候在 F5DevCentral 上面看到 Election Hash 這個分配方法:「Hash Load Balancing and Persistence on BIG-IP LTM」。

演算法的部份在 F5 的文章裡寫得很清楚了,這邊就不重複再說明。

Consistent Hashing 需要一個 shared storage 放 ring 資料,但這個方法不需要,另外一方面,這個方法寫起來比較簡單,而且 query 會打散的很平均,不像 Consistent Hashing 需要用 virtual node 從機率上平均。

會用 Election Hash 一個主要的原因是 iRuleTcl 語法,簡單的演算法寫起來就已經很長了,如果再複雜下去... XD

比較明顯的缺點在計算的量:每次 query 進來都要跟所有的 node 計算 hash value,在 node 多的時候應該會感覺到速度下降。不過目前也只有用在 cache server 的 VIP 上以提高 hit rate,後面的機器數量都不多,所以看起來還 okay...

Leave a Reply

Your email address will not be published. Required fields are marked *