redis一致性哈希多集羣客戶端實現
背景
- 業務方使用單一redis集羣,存在容量不夠的問題,需要進行redis的擴容。
- 增加server後,需要保證相同的key落到相同的集羣上。
- 業務方是多個client,需要保證集羣的變更不影響不同client之間對於同一個key的一致性。
- 縮容也是同理。
方案
client端的一致性哈希路由
- 自研consistent hashing router
- jedis的ShardedJedis
- 其它開源redis一致性hash客戶端
保證數據的一致性
- client端感知集羣的擴容和縮容,之間進行同步
refrence:
https://github.com/xetorthio/jedis/wiki/AdvancedUsage