redis - 如何实现Redis Labs Enterprise Cluster High Availability?

标签 redis replication redislabs

开始学习 RedisLabs Enterprise Cluster,但我对如何使用 RLEC 实现高可用性感到困惑。我了解到 RLEC 使用专有复制,这与开源 Redis 不同。我想要实现的是,如果我的主数据库出现故障,我的应用程序仍然可以通过连接到副本数据库正常运行。

我的问题是:

  1. 我已经创建了 2 个节点。如果我创建了一个名为 testing 并启用了复制的新 Redis 数据库,其中哪个节点是主数据库(以及哪个节点 是奴隶)?端点表示的是当前的master吗?

nodes enter image description here

  1. 我连接到每个服务器中的 localhost:19332(如端点所示)。为什么我可以从两个服务器进行设置? (并且它出现在两个服务器中)。我认为通常复制应该是从主到从的一种方式?

enter image description here

最佳答案

我会给你一些高级指导,如果你想获得更多信息,请通过 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/

相关文章:

performance - Membase 和 Redis 必须存储在磁盘上时

sqlite - 在iPhone上具有Xamarin应用程序的复制/同步功能的脱机数据?

mysql - 如何在MYSQL 5.7中为不同 channel 设置不同的replication_do_db?

node.js - 用于 NodeJS 应用程序的 Hazelcast 与 Redis(或 RedisLabs)

testing - 单独的 Redis 数据库用于 Laravel 中的测试

heroku - Heroku 上的 graphql-redis-subscriptions 无法始终如一地工作

php - 全局变量如何在 php 中工作?

elasticsearch - 设置复制到远程Elasticsearch集群时出现问题

ruby-on-rails - 为什么我能在 Heroku 看到这么多 worker ?我如何限制其他员工的访问权限?