开始学习 RedisLabs Enterprise Cluster,但我对如何使用 RLEC 实现高可用性感到困惑。我了解到 RLEC 使用专有复制,这与开源 Redis 不同。我想要实现的是,如果我的主数据库出现故障,我的应用程序仍然可以通过连接到副本数据库正常运行。
我的问题是:
- 我已经创建了 2 个节点。如果我创建了一个名为 testing 并启用了复制的新 Redis 数据库,其中哪个节点是主数据库(以及哪个节点 是奴隶)?端点表示的是当前的master吗?
- 我连接到每个服务器中的 localhost:19332(如端点所示)。为什么我可以从两个服务器进行设置? (并且它出现在两个服务器中)。我认为通常复制应该是从主到从的一种方式?
最佳答案
我会给你一些高级指导,如果你想获得更多信息,请通过 support@redislabs.com 联系我们
要实现真正的 HA,您的 RLEC 集群应该至少有 3 个节点,因此您应该向集群添加另一个节点。 创建 Redis 资源后,只需启用复制即可将其配置为高可用性。
您只需将您的应用程序连接到 UI 中提供的端点。如果主节点 Redis 出现故障,RLEC 将自动升级从节点并将您的应用程序请求重定向到新的主节点。
请注意,您确实需要配置 DNS,并且您的集群名称必须是 FQDN。
关于从两个节点本地工作的 redis-cli -p 19332
,正如我的同事@ItamarHaber 提到的,您正在通过代理与 Redis 资源通信,所有请求都由您的主服务器处理Redis进程。
关于redis - 如何实现Redis Labs Enterprise Cluster High Availability?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40759508/