首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >哨兵与集群的红色优势

哨兵与集群的红色优势
EN

Stack Overflow用户
提问于 2019-06-07 16:51:57
回答 1查看 4K关注 0票数 4

我计划创建一个高可用的Redis集群。在阅读了许多关于构建Redis集群的文章之后,我感到困惑。那么究竟什么是

  • 红色哨兵Master1 Slave1 Slave2集群的优势?作为一个Redis Multinode共享集群,它更可靠吗?
  • Redis Multinode共享集群的优势?作为一个红色哨兵Master1 Slave1 Slave2集群,它更可靠吗?

关于Redis Sentinel Master1 Slave1 Slave2集群的进一步问题:

  • 当我有一个主人和两个奴隶和流量越来越高,所以这个集群将是小的,我如何使集群更大?

关于Redis Multinode共享集群的进一步问题:

  • 为什么在单个实例上运行集群而在不同端口上运行这么多演示?这对我来说毫无意义。
  • 当我拥有一个拥有4个主服务器和4个副本的集群时,应用程序或客户端如何确保向集群写入?当Master1和Slave1快死时,但是我的应用程序总是写到Master1的IP上,那么它就不再工作了。有哪些解决方案可以很好地实现分片集群,使应用程序可以使用单个ip和端口来查找它?被关起来?HAproxy?
  • 当我插嘴一个4主设置,例如,保存-这不是抵消了不同的主人?
  • 此外,我需要理解为什么多项式集群只用于在内存可用时需要编写更多数据的解决方案。为什么?对我来说,一个多主设置听起来很好,可以扩展。
  • 当集群不处于缓存模式时,分片群集设置不支持多键操作,这是否正确?

我不确定这两种解决方案是否是唯一的解决方案。希望你们能帮我理解Redis的架构。抱歉问了这么多问题。

EN

回答 1

Stack Overflow用户

发布于 2019-07-24 07:20:27

我将尝试回答您的一些问题,但首先让我描述一下Redis的不同部署选项。Redis有三个基本部署:单节点、哨兵和集群。

  • 单节点-运行单个进程运行Redis的基本解决方案。它不是可伸缩的,也不是高度可用的。
  • Redis部署,由多个节点组成,其中一个节点被选为主节点,其余节点都是奴隶。它增加了高可用性,因为在主故障情况下,其中一个从站将自动提升为主站。因为主节点是唯一能够写入数据的节点,所以它是不可扩展的。您可以将客户端配置为将读取请求直接指向从服务器,这将从主服务器接收一些负载。但是,在这种情况下,从服务器可能返回陈旧的数据,因为它们异步地复制主数据。
  • 由至少6个节点(3个主节点和3个从节点)组成的Redis集群部署。在主程序之间共享数据的地方。这是高度可用的,因为如果主人失败,他的一个奴隶将自动提升为主人。它是可扩展的,因为您可以添加更多的节点并对数据进行reshard处理,这样新节点将承担一些负载。

因此,要回答你的问题:

  1. Sentinel相对于Redis集群的优势是:
    • 硬件-您可以设置完全工作的哨兵部署三个节点。Redis群集至少需要6个节点。
    • 简单--通常更容易维护和配置。

  1. 与哨兵相比,Redis集群的优势在于它是可伸缩的。

这两个部署之间的决定应该基于您的预期负载。如果可以使用单个Redis主节点来管理写入负载,则可以使用Sentinel部署。

如果一个节点无法处理预期的负载,则必须使用群集部署。

  1. Redis部署是不可伸缩的,因此使集群更大不会提高性能。唯一的例外是,添加从服务器可以提高您的读取性能(如果您将读取请求直接发送给从服务器)。
  2. 在具有多个端口的单个节点上运行的Redis群集仅用于开发和演示。在生产中它是无用的。
  3. 在Redis集群部署中,客户端应该可以访问所有节点(而且节点仅限Master1)。这是因为数据是在主程序之间共享的。如果客户端试图将数据写入Master1,但Master2是数据的所有者,Master1将向客户端返回移动消息,引导它将请求发送到Master2。在所有Redis节点前面不能有一个HAProxy。
  4. 与5中的答案相同,在集群部署中,客户端应该直接连接到所有主程序和从服务器,而不是通过LB或Keepalived。
  5. 我不确定我是否完全理解了您的问题,但是Redis集群是Redis的唯一可伸缩解决方案。
  6. 只有当所有键都在同一个节点上时,Redis群集部署才支持多键操作。您可以使用“哈希标签”强制多个键由同一主程序处理。

一些好的链接可以帮助您更好地理解它:

关于不同的Redis部署选项的说明:https://blog.octo.com/en/what-redis-deployment-do-you-need

对Redis集群体系结构的详细说明:https://blog.usejournal.com/first-step-to-redis-cluster-7712e1c31847

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56498406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档