【发布时间】:2016-07-06 11:13:41
【问题描述】:
我有一个 RabbitMQ 服务器集群。我想将我的 StompBrokerRelay 请求从我的 Spring Boot 应用程序(使用 websockets)负载平衡到集群中的节点,但是我看不到在哪里可以使用 MessageBrokerRegistry 设置地址列表。现在配置如下:
@Override
public void configureMessageBroker(MessageBrokerRegistry config) {
config
.enableStompBrokerRelay("/exchange")
.setAutoStartup(true)
.setVirtualHost(BROKER_VHOST)
.setRelayHost(BROKER_HOST)
.setRelayPort(BROKER_PORT)
.setClientLogin(BROKER_CLIENT_LOGIN)
.setClientPasscode(BROKER_CLIENT_PASSWORD)
.setSystemLogin(BROKER_SYSTEM_LOGIN)
.setSystemPasscode(BROKER_SYSTEM_PASSWORD);
}
有什么方法可以 .setRelayHosts() 还是我需要寻找另一个框架,或者,天堂禁止,尝试解决这个问题以与多个主机一起工作。
【问题讨论】:
-
为什么不用rabbitmq集群?
-
我打算。问题是客户端需要检测故障。从文档中:“客户端可以正常连接到集群中的任何节点。如果该节点出现故障,并且集群的其余部分仍然存在,那么客户端应该注意到关闭的连接,并且应该能够重新连接到一些幸存的节点集群的成员。”因此,如果 spring 不允许您指定多个主机,我不确定当一个主机失败时该怎么办。
-
现在解决了吗?我需要添加多个代理(activeMQ 和 rabbitMQ)
标签: spring rabbitmq spring-websocket