如何在禁用集群模式的情况下读取redis只读副本?

问题描述 投票:0回答:1

我们目前使用redis(AWS弹性缓存)提供服务,该服务具有几个副本节点,并且已禁用集群模式。在这种情况下,我们如何实现从副本读取和读/写主节点?

golang中是否有任何好的库?我可以找到几个库,但它们都是为了启用集群模式。

amazon-web-services redis amazon-elasticache
1个回答
0
投票

我们所做的是使用route53创建一个指向“主要端点”的“写入”URL,如果出现问题,它将故障转移到当前主节点。这样您就不必在应用中更新它了。然后将所有节点放在带有循环的“读取”URL下。

除非您正在进行大量读取和不经常写入,否则通常不需要访问读取(来自副本)并在同一应用程序中写入。然后,您可以在代码中维护两个redis客户端实例。不优雅,但有效。

使用加权循环,您可以根据需要调低当前主数据的读数。只需要知道故障转移事件何时发生更新。

将写入URL上的TTL设置为较低的值,例如1分钟或更短。

© www.soinside.com 2019 - 2024. All rights reserved.