gpt4 book ai didi

RabbitMQ HA 和故障转移

转载 作者:行者123 更新时间:2023-12-04 18:04:49 25 4
gpt4 key购买 nike

我已经阅读了 clusteringHA章节并对 RabbitMQ 集群有了一个公平的理解。我不明白的一件事是,集群上有 2 个以上的节点和一组 HA 队列,客户端如何建立连接,以便在一个节点发生故障时它们自动无缝地连接到其余节点。这可以通过负载均衡器(例如用于在 AWS 中进行部署的 Amazon ELB)来实现吗?

最佳答案

使用像 Amazon ELB 或 HAProxy 这样的负载均衡器正是您应该如何将流量路由到 Rabbit 集群中的可用节点。

我推荐 HAProxy。这是一个示例 HAProxy 配置:

global
log 127.0.0.1 local1
maxconn 4096
#chroot /usr/share/haproxy
user haproxy
group haproxy
daemon
#debug
#quiet

defaults
log global
mode tcp
option tcplog
retries 3
option redispatch
maxconn 2000
timeout connect 5000
timeout client 50000
timeout server 50000

listen stats :1936
mode http
stats enable
stats hide-version
stats realm Haproxy\ Statistics
stats uri /

listen aqmp_front :5672
mode tcp
balance roundrobin
timeout client 3h
timeout server 3h
option clitcpka
server aqmp-1 rabbitmq1.domain:5672 check inter 5s rise 2 fall 3
server aqmp-2 rabbitmq2.domain:5672 backup check inter 5s rise 2 fall 3

注意最后两行。您需要将 rabbitmq1.domainrabbitmq2.domain 替换为您的两个节点的位置。由于第二台服务器设置为备份检查,HAProxy 将仅在第一个节点上平衡请求,如果该节点失败,请求将路由到第二个节点。

关于RabbitMQ HA 和故障转移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29042201/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com