我需要设置 4 个位置/服务器,它们都运行一个应用实例。流量将通过负载平衡器传输,并根据位置定向到最近的节点。
我遇到的问题是 Redis。每个节点无法运行自己的实例,而是都需要连接到一个中心 Redis 节点。
在某些情况下,距离非常远。例如芝加哥到新加坡。
还有其他方法可以实现这一点并缩短应用程序节点和 Redis 之间的距离吗?例如在另一个位置有镜像的节点 1 Redis?
我通常不处理 Redis,所以我不确定我是否会因此而遭受巨大的性能损失。
答案1
Redis 有一个以主从方式复制数据的选项,但这确实意味着您需要让您的应用程序知道这一点。对 redis 的写入应该转到单个节点(最好是 HA),然后该节点可能会将数据复制到每个位置的节点以供读取。关于这一点的完整操作指南有点难以写出来。但 Redis 在其文档中有一个关于此主题的主题:https://redis.io/topics/replication