AWS Redis - 启用/禁用集群模式。它是如何分配流量的?

Dix*_*ale 7 amazon-web-services redis aws-sdk

我们最近选择在我们的应用程序中使用 Amazon 弹性缓存 Redis,但在查看文档时有些事情并不清楚。

1)Redis的集群模式禁用集群在集群的AWS控制台中有主端点,当我们使用jedis客户端连接到主端点时,该主端点是否将读取流量分发到集群的只读副本?或者应用程序明确必须连接到集群中的只读副本?例如。杰迪斯客户端

2)为redis启用的集群模式在Redis的AWS控制台中具有配置端点,因此当我们使用客户端连接到此配置端点时,配置端点是否会在集群中的分片之间分配写入和读取流量?或者应用程序必须使用传递分片主端点的 JedisCluster 对象显式连接到每个分片?

3)对于Redis启用的集群模式,弹性缓存如何跨分片分割键?

kis*_*sna 3

刚刚从链接中注意到:https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Endpoints.html,看起来您可以使用他们的https://docs.aws.amazon.com/AmazonElastiCache /latest/red-ug/Endpoints.html#Endpoints.Find.CLI.ReplGroups并发现实际端点并将它们视为常规分片/副本节点,或使用它们的端点:

Redis 独立节点,使用节点的端点进行读取和写入操作。

Redis(已禁用集群模式)集群,​​使用主端点进行所有写入操作。使用读取器端点在所有只读副本之间均匀分配到端点的传入连接。使用各个节点端点进行读取操作(在 API/CLI 中,这些端点称为读取端点)。块引用

因此,看起来主端点将充当代理,读取器端点也会执行相同的操作,并进行一些负载平衡,包括根据密钥将密钥路由到正确的分片。读取客户端将仅连接到一个端点。

Redis(启用集群模式)集群,​​使用集群的配置端点进行所有操作。您必须使用支持Redis Cluster(Redis 3.2)的客户端。您仍然可以从各个节点端点读取(在 API/CLI 中,这些端点称为读取端点)。

与以前相同,但使用单个端点进行读取和写入。这样做可能是为了使可用性和发生故障时的故障转移变得透明。