consistent-hashing

    1熱度

    2回答

    我試圖使用elasticache作爲memcache服務,使用AWS的針對java的elasticache客戶端庫。 下面的代碼適用於連接到羣集: _client = new MemcachedClient(_serverList); 但我所做的任何企圖利用內存緩存中的客戶端沒有一致性哈希結果初始化: _client = new MemcachedClient(new KetamaConnec

    3熱度

    1回答

    我所知道的是: 一致性哈希法:統一的分佈式存儲系統 錐散列:非均勻分佈式存儲系統 我想知道: 它是如何作品? 它有什麼用? 這兩種哈希有什麼區別? 我無法理解這兩者之間的區別。請有人幫我這個!

    1熱度

    2回答

    如果我有將數據寫入存儲的系統。 在羣集設置中,如果數據是同步複製的,也就是說,當我收到請求更改跨所有節點更新的數據,然後返回響應時。 在這種情況下是否可以動態添加節點? 也就是說,有2個節點,並且在該羣集上執行一些事務。我可以添加集羣仍在運行的第三個節點嗎? 如果我添加一個這樣的新節點,是不是破壞了集羣的強一致性?

    2熱度

    2回答

    我有一個解決方案,包含2個命令行項目,創建一個帶有種子和客戶端進程的akka​​.net集羣。種子啓動羣集,然後實例化一個一致的散列簇路由器,該路由器對實現我的接口「IHasRouting」的任何消息執行散列映射。因此,任何IHasRouting消息(來自種子或客戶端)應最終在該消息散列的路由器上種子。 項目正常啓動並且羣集表單沒有錯誤。種子和客戶端實例化路由器。來自種子和客戶端的所有消息都具有相

    1熱度

    1回答

    我明白經典的一致性緩存算法,當添加/刪除一個節點時,一些密鑰必須重新映射到不同的節點。如果我放鬆了一些要求,是否有算法支持不重映射? 在我的申請,我希望逐漸分配鍵節點: 一旦密鑰已經被分配到一個節點,它保持永遠存在。 節點已添加但未刪除。一個節點在添加後永遠不會關閉 - 假設工作中有一個複製/備份機制。 密鑰不需要在節點間均勻分佈。盡力而爲:當新節點被添加時,與舊節點相比,更多的新密鑰被分配給它。

    0熱度

    4回答

    假設我有一個表Orders帶有自動遞增的ID,例如, 1,2,3,4 ...,他們當前查詢爲http://www.example.com/order?id= {1,2,3 ..} 現在,我想要散列主鍵[1,2,3,...]另一個號碼稱爲訂單號,以便我們的客戶可以在他們的請求中引用他們,例如 1 -> 100192938303 2 -> 293029200002 我想以下幾點: 不能夠通過查看

    0熱度

    2回答

    經過最近的調查和Stack over flow question我意識到集羣分片比集羣一致性哈希路由器更好。但是我無法獲得2個進程集羣。 一個過程是種子,另一個過程是客戶端。種子節點似乎不斷地丟出死信(見本問題的結尾)。 這種子HOCON如下: akka { loglevel = "INFO" actor { provider = "Akka.Cluster.Cluste

    0熱度

    1回答

    我試圖用阿卡的ConsistentHashingRoutingLogic保證使用相同的密鑰消息路由到同一個演員。具有相同密鑰的消息在FIFO排序中處理非常重要。具有不同密鑰的消息可以路由到不同的角色並自由並行處理。我沒有在分佈式模式下使用Akka。 消息實際上是JSON消息從RabbitMQ的經紀人被讀取,所以我的主演員收到AMQP消息並使用路由鍵消息鍵。信息本身也是同樣的關鍵。該角色是Sprin

    1熱度

    2回答

    具有將字符串userid穿過,從而對字符串userid基礎庫,我需要選擇只有這三種顏色中的任何一個。 RED BLUE PINK 比方說,如果字符串userid是12345然後例如RED所以下一次可以選擇,如果相同的用戶ID 12345傳遞,那麼它應該只挑選同一紅色。 又如如果字符串userid是98765,那麼在這種情況下,它可以挑選BLUE所以下一次如果相同的用戶ID 98765通過,

    0熱度

    2回答

    我嘗試使用下面的參考實現一致的基於哈希算法Java進行分片鍵的Redis - Stanford Theory on CH 我想了解的最佳方式產生節點和密鑰的hascode。目前我使用的DigestUtils生成散列如下& 將返回值到環/圈 - private BigInteger hash(String key) { return new BigInteger(DigestUtils.m