AWS今年为主动-被动设置(Global DataStore)引入了跨区域复制。这意味着存在一个用于读/写的主Redis集群和一个用于读取的辅助集群。
在我的例子中,我们希望在不同的区域使用Active - Active Redis。最初的想法是手动将Redis集群与Kinesis同步,并且在出现写和更新其他区域时触发Lambda函数,例如,区域A中发生写入时,Lambda更新区域B中的Redis,反之亦然。这允许在这两个区域进行书写。
是否有可能主动使用全球数据存储?
当写操作总是到达部署主Redis集群的同一区域时,还是全局数据存储与手动解决方案一样工作(就延迟而言)?
欢迎任何反馈意见。
发布于 2020-07-06 06:21:15
不幸的是,目前还没有AWS解决方案用于ElastiCache中的主主。
以下是您可以做的一些解决方案:
在您的应用程序中,datastore
任何解决方案之间都会有一定程度的延迟,选项1直接写入,而其他2则允许进程在后台发生。这里的决定将基于您的应用程序(它是等待写入完成,还是在流程中执行它所需的dos )。
另外,如果这是为了编写一个缓存,你能用缓存启动代替吗?我的意思是通过脚本生成一个扁平的缓存,以确保您的redis集群始终是最新的。
发布于 2021-01-12 11:04:13
如何连接同一Transit中的不同区域,以便从任何(已连接)区域访问读/写端点?
还没有经过测试,我目前正在尝试实现这一点,但是来自AWS控制台的相应CloudFormation模板被破坏了。
然而,该解决方案仍然应该发挥作用,当然,这是一个可以接受的滞后,但至少不应该有额外的工作来维护本地区域资源,Lambda等。
这听起来怎么样?
https://stackoverflow.com/questions/62748831
复制相似问题