在 docker 中为 docker RabbitMQ 集群设置 HAProxy 负载均衡器

在 docker 中为 docker RabbitMQ 集群设置 HAProxy 负载均衡器

我在 docker 中设置了一个 3 节点的 RabbitMQ 集群,使用以下命令:

docker run -d --rm --net rabbits `
-v ${PWD}/config/rabbit-1/:/config/ `
-e RABBITMQ_CONFIG_FILE=/config/rabbitmq `
-e RABBITMQ_ERLANG_COOKIE=WIWVHCDTCIUAWANLMQAW `
--hostname rabbit-1 `
--name rabbit-1 `
-p 8081:15672 `
-p 8084:5672 `
rabbitmq:3.8-management

我的docker网络名称是兔子。我正在努力为这个集群设置一个docker HAProxy负载平衡器。我对docker和负载平衡都是新手,所以配置文件对我来说没有多大意义。以下是我当前的haproxy.config,

global
        debug
 
defaults
        log     global
        mode    tcp
        timeout connect 5000
        timeout client 50000
        timeout server 50000

frontend main
        bind *:8089
        default_backend app

backend app
        balance roundrobin
        mode http
        server          rabbit-1 172.18.0.2:8084
        server          rabbit-2 172.18.0.3:8085
        server          rabbit-3 172.18.0.4:8086

172.18.0.* 是我的 RabbitMQ 节点 IP 地址,我不确定是否应该在后端应用程序中提供 IP 地址或网络名称。我也不确定模式。我试图实现的是让我的客户端 3 节点微服务应用程序通过amqp://guest:guest@loadbalancer:5672URL。请帮帮我。

相关内容