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

2023-07-27 16:16:58 +08:00
 adpw001

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

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

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

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

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

1309 次点击
所在节点    程序员
4 条回复
hanyu2pomelo
2023-07-27 16:24:34 +08:00
KeepAlived+Nginx+ RabbitMQ,高可用+负载均衡,岂不美哉
perfectlife
2023-07-27 16:26:11 +08:00
我感觉没区别,要我我就选 nginx 四层代理,简单省事,另外高可用你用镜像集群模式应该就可以了吧,至于性能,反正用 rabbitmq 就别太要求太高的性能了
Scarb
2023-07-27 16:27:08 +08:00
应该都可以,不觉得 HAProxy 更优秀
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 搞混了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/960267

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX