amazon-web-services - 如何在禁用集群模式的情况下从 redis 只读副本读取?
问题描述
我们目前有一个使用 redis(AWS elasticache)的服务,有几个副本节点,集群模式被禁用。在这种情况下,我们如何实现从副本的只读和对主节点的读/写?
golang 中是否有相同的好的库?我可以找到几个库,但它们都是为启用集群模式而设计的。
解决方案
我们所做的是使用 route53 创建一个指向“主端点”的“写入”URL,如果出现问题,它将故障转移到当前的主节点。这样您就不必在您的应用程序中更新它。然后使用循环将所有节点放在“读取”URL 下。
除非您进行大量读取和不频繁的写入,否则您通常不需要在同一个应用程序中访问读取(从副本)和写入。然后就可以在代码中维护两个redis客户端实例了。不优雅,但有效。
使用加权循环法,您可以根据需要调低当前主节点上的读数。只需注意何时发生故障转移事件即可对其进行更新。
将写入 URL 上的 TTL 设置为较低的值,例如 1 分钟或更短。
推荐阅读
- c# - 使用套接字 C# 传输文件
- javascript - 如何获取元素的计算样式更改
- azure - 带有 Azure Web 应用和 API 的容器
- python - 测量pySpark中两列之间的MSE
- yii2 - CKEDITOR.ENTER_BR 选项在 Yii2 中不起作用
- javascript - XSS:img 标记中单独的 src 属性是否会导致 XSS?
- sql - 错误:关系“foo”不存在
- spring-boot - HTTPS 安全仅适用于主页而不是下一页
- r - Worldmap 包错误,grid.Call.graphics 中的错误(C_polygon,x$x,x$y,index):无效颜色名称“blackcat”
- php - magento2 bin/magento 不工作