程式設計師修神之路--分散式快取的一條明路(附程式碼)
在伺服器數量不變的情況下,以上設計沒有問題。但是要知道,程式設計師的現實世界是悲慘的,唯一不變的就是業務一直在變。我本無奈,只能靠技術來改變這種狀況。
假如我們現在伺服器的數量為10,當我們請求key為6的時候,結果是4,現在我們增加一臺伺服器,伺服器數量變為11,當再次請求key為6的伺服器的時候,結果為5.不難發現,不光是key為6的請求,幾乎大部分的請求結果都發生了變化,這就是我們要解決的問題, 這也是我們設計分散式快取等類似場景時候主要需要注意的問題。
我們終極的設計目標是:在伺服器數量變動的情況下
1. 儘量提高快取的命中率(轉移的資料最少)
2. 快取資料儘量平均分配