如何在 Lettuce Redis 客户端中使用客户端一致性哈希
How to use client consistent hashing with Lettuce Redis client
我正在尝试查找如何配置和使用具有客户端一致性哈希的 Lettuce Redis 客户端的参考资料。
这种分片方法在 ShardedJedis from Jedis client and described in the Redis partitioning documentation 中实现。
方法的简短描述:
我们有一个具有多个独立 Redis processes/nodes 的环境,没有使用 Redis Cluster 或 Sentinel 的任何基于服务器的请求路由,客户端通过应用哈希函数(key -> node_id) 在客户端。
lettuce 是否支持这种开箱即用的 clustering/sharding?如果是,如何配置它以使用客户端散列?
TL;DR
除了 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
(可用于节点路由的抽象书写外观)。
我正在尝试查找如何配置和使用具有客户端一致性哈希的 Lettuce Redis 客户端的参考资料。
这种分片方法在 ShardedJedis from Jedis client and described in the Redis partitioning documentation 中实现。
方法的简短描述: 我们有一个具有多个独立 Redis processes/nodes 的环境,没有使用 Redis Cluster 或 Sentinel 的任何基于服务器的请求路由,客户端通过应用哈希函数(key -> node_id) 在客户端。
lettuce 是否支持这种开箱即用的 clustering/sharding?如果是,如何配置它以使用客户端散列?
TL;DR
除了 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
(可用于节点路由的抽象书写外观)。