[英]Active -Active Cross-Region Redis Replication
AWS 今年为主动 - 被动设置 ( Global DataStore ) 引入了跨区域复制。 这意味着有一个用于读/写的主 Redis-Cluster 和一个用于读取的辅助集群。
就我而言,我们想在不同地区使用Active - Active Redis 。 An initial thought is to manually synchronize the Redis clusters with Kinesis streams and Lambda functions get triggered whenever there is a write and update the other region, eg when a write happens in region A, a Lambda updates the Redis in Region B and vice versa. 这允许在两个区域中写入。
是否可以让 Active Active 与 Global Datastore 一起使用?
或者当写入操作总是 go 到部署主 Redis 集群的同一区域时,全局数据存储区是否会像手动解决方案一样工作(在延迟方面)?
欢迎任何反馈
不幸的是,目前 ElastiCache 中没有针对主-主的AWS 解决方案。
以下是您可以采取的一些解决方案:
任何解决方案都会有一定程度的延迟,选项 1 执行直接写入,而其他 2 允许进程在后台发生。 这里的决定将基于您的应用程序(它是否可以等待写入完成,或者是否需要在流程中发生)。
此外,如果这是用于写入缓存,您可以只使用缓存启动吗? 我的意思是通过脚本生成扁平化缓存,以确保您的 redis 集群始终是最新的。
如何连接同一个 Transit VPC 中的不同区域,以便您可以从任何(连接的)区域访问读/写终端节点?
尚未测试,我目前正在尝试实现这一点,但来自 AWS 控制台的相应 CloudFormation 模板已损坏。
但是,该解决方案仍然应该可以解决问题,当然还有可接受的延迟,但至少不应该有额外的工作来维护本地区域资源、Lambda 等。
这听起来如何?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.