【问题标题】:Should I run haproxy for db and redis sentinel on web nodes?我应该在 Web 节点上为 db 和 redis sentinel 运行 haproxy 吗?
【发布时间】:2017-04-16 19:09:39
【问题描述】:

我正在使用 vagrant 设置服务器集群,并使用 Redis sentinel 和 HAProxy 进行 Postgresql 数据库连接(使用 pgpool)。我很好奇将 haproxy 和 redis sentinel 放在我的每个 Web 服务器节点上并让它们直接连接到这些节点是否有意义。想法是,它可以创建到 DB 和 redis 的分布式连接,并将单点故障减少到拥有一个它们连接到的单个 haproxy,然后拆分到不同的 db 节点。我还可以将数据库连接(通过 haproxy)和 redis(通过哨兵)封装到本地主机。这有意义吗?

【问题讨论】:

    标签: redis haproxy high-availability failover sentinel


    【解决方案1】:

    只有在您试图节省资源/成本时才有意义。

    请注意,redis sentinel 必须有一个有限的哨兵实例列表,这不适合每台机器放置一个的场景,因为您的机器计数可能会扩展/更改。

    否则,将不同的基础架构组件(尤其是那些具有集群/HA 特性的组件,例如 redis )放在不同的机器上总是最有意义的。

    通过将它们混合在一起,您通常会导致应用程序相互干扰,并在负载增加时相互窃取 CPU。您还冒着将应用程序/脚本/流程设计为位置感知的风险(即假设外部资源始终是本地的),这也不是一个很好的做法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-12
      • 2016-01-21
      • 2015-07-17
      • 2014-04-23
      • 2015-02-20
      • 2020-03-02
      • 2016-08-03
      相关资源
      最近更新 更多