主动-主动跨区域redis复制

0kjbasz6  于 2021-06-10  发布在  Redis
关注(0)|答案(1)|浏览(429)

aws今年为主动-被动设置(全局数据存储)引入了跨区域复制。这意味着有一个用于读/写的主redis集群和一个用于读的辅助集群。
在我的例子中,我们希望在不同的地区使用主动-主动redis。最初的想法是手动将redis集群与kinesis流同步,并且每当有写入并更新另一个区域时,lambda函数就会触发,例如,当区域a中发生写入时,lambda就会更新区域b中的redis,反之亦然。这允许在这两个区域进行写入。
是否可以主动使用全局数据存储?
或者,当写操作总是在主redis集群部署的同一个区域进行时,全局数据存储的工作方式是否与手动解决方案(在延迟方面)一样好??
欢迎任何反馈

a2mppw5e

a2mppw5e1#

不幸的是,目前在elasticache中没有针对master的aws解决方案。
以下是您可以采取的一些解决方案:
在您的应用程序中,对于redis使用write endpoint和read endpoint,write endpoint将以主写全局数据存储为目标,read将以本地读数据存储为目标
写入本地区域资源(如dynamodb),具有lambda触发器并写入主写全局数据存储。
写入本地区域队列/流,例如sqs或kinesis数据流(支持lambda消费者),并让lambda消费和写入。
任何解决方案都会有一定程度的延迟,选项1执行直接写入,而其他2允许进程在后台进行。这里的决定将基于您的应用程序(它可以等待写操作完成,或者它需要在流中发生)。
另外,如果这是为了写缓存,你能用缓存启动代替吗?我的意思是通过一个脚本生成一个平坦的缓存,以确保您的redis集群始终是最新的。

相关问题