V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
adpw001
V2EX  ›  程序员

RabbitMQ 高可用+负载均衡 实现方案求助

  •  
  •   adpw001 · 2023-07-27 16:16:58 +08:00 · 1268 次点击
    这是一个创建于 485 天前的主题,其中的信息可能已经有所发展或是发生改变。

    从网上查阅资料知道,RabbitMQ 想要做 故障转移+高可用+负载均衡 有两种方式(不考虑客户端路由的情况)

    1. Nginx( 1.90 后的 stream 模块)
    2. HAProxy + KeepAlived

    两种方案貌似都能实现(也不是特别的确定,根据目前搜集到的资料来说是可以的)。纠结点就在于这,选哪一种?

    目前我们现状是这样子的,生产还没有过使用了 HAProxy + KeepAlived 的场景;而 Nginx 是我们已有的技术栈。所以从成本和风险上来说,肯定是首先选择 Nginx;但我看目前网上资料大部分又都是选了 HAProxy + KeepAlived,这就让我很疑惑了。

    • 后者比前者更优秀吗?体现在哪
    • 后者对 AMQP 协议支持更加全面?

    有经验的大牛们,知道这两者的区别到底在哪吗

    4 条回复    2023-07-27 16:28:05 +08:00
    hanyu2pomelo
        1
    hanyu2pomelo  
       2023-07-27 16:24:34 +08:00
    KeepAlived+Nginx+ RabbitMQ,高可用+负载均衡,岂不美哉
    perfectlife
        2
    perfectlife  
       2023-07-27 16:26:11 +08:00
    我感觉没区别,要我我就选 nginx 四层代理,简单省事,另外高可用你用镜像集群模式应该就可以了吧,至于性能,反正用 rabbitmq 就别太要求太高的性能了
    Scarb
        3
    Scarb  
       2023-07-27 16:27:08 +08:00
    应该都可以,不觉得 HAProxy 更优秀
    onetown
        4
    onetown  
       2023-07-27 16:28:05 +08:00
    rabbitmq, 负载均衡就可以了吧, 还要做故障转移, 是消息都没 ack 吗?
    rabbitmq 是目前我用下来 cluster 最简单的一个消息队列组件了, 配置好, 直接无脑配置 haproxy 的 backend, server1,2,3 就可以了, 不过需要 haproxy 加 option clitcpka, 用来 keepalive (不是 keepalived), 我在想 op 是不是把这个 clitcpka 和 keepalived 搞混了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1695 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 16:48 · PVG 00:48 · LAX 08:48 · JFK 11:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.