如何使用客户端一致性哈希与 Lettuce Redis 客户端

Dmi*_*kiy 3 java redis lettuce redis-cluster

我正在尝试查找有关如何配置和使用具有客户端一致性散列的Lettuce Redis 客户端的参考资料。

这种分片方法在Jedis 客户端的ShardedJedis 中实现,并在Redis 分区文档中进行了描述。

方法的简短描述:我们有一个环境有多个独立的 Redis 进程/节点,没有使用 Redis Cluster 或 Sentinel 的任何基于服务器的请求路由,客户端通过应用哈希函数 (key -> node_id) 在客户端。

生菜是否支持这种开箱即用的集群/分片?如果是,如何配置它以使用客户端散列?

mp9*_*1de 5

TL; 博士

除了 Redis Cluster 之外,Lettuce 中没有对分片的内置支持。

更长的响应时间

Lettuce 支持基本的 Redis 功能。它支持 Redis Standalone、Redis Cluster、Redis Sentinel 和 4.x 版本的 Master/Slave(这是 Redis Standalone 之上的读取路由层)操作模式。可以建立在 Redis 之上的所有其他提议和可能性都不是 Lettuce 的一部分。

Lettuce 专注于核心 Redis 功能,使其成为可扩展且有弹性的客户端,为您的应用程序提供传输保证。如果您有兴趣这样做,您可以自己建立这种支持。

Lettuce 保持可扩展性,其想法是允许扩展构建在AbstractRedisClient(支持客户端外观和连接过程)、RedisChannelHandler(连接外观本身)和RedisChannelWriter(可用于节点路由的抽象书写外观)之上。