我使用spring-amqp连接到rabbitmq节点(A,B和C)的集群。假设群集中的其中一个rabbitmq节点关闭(C关闭)。此外,假设有两个消息接收器(Receiver_1和Receiver_2)正在使用连接到节点C.当C关闭时,Receiver_1和Receiver_2是否自动将其连接切换为连接到A或B?当C再次出现时会发生什么?一些接收器连接是否被重新分配以使用C?spring-amqp HA支持
0
A
回答
1
故障转移不被RabbitMQ本身支持。当RabbitMQ集群中的某个节点出现故障时,将选择一个新的主节点,业务将像往常一样继续处理集群其余部分。
因此,在您的示例中,Receiver_1和Receiver_2需要处理C已关闭的情况,并知道尝试连接到A或B。
你可以看到官方文档此位置:http://www.rabbitmq.com/clustering.html#clients
就个人而言,我使用HAProxy的(http://haproxy.1wt.eu/)加载平衡对我所有的客户的连接。 haproxy不仅会负载均衡,而且会自动检测节点何时离线并将所有连接重新路由到另一个活动节点。这就是说,它不会是无缝的。应用程序仍然会断开连接,因此您需要捕获异常并尝试重新连接。
相关问题
- 1. 如何支持HA在wso2IS
- 2. AgensGraph可以支持HA吗?
- 3. 不支持文化名称'ha-latn'
- 4. 请告诉我SpringAMQP支持的RabbitMQ版本1.7
- 5. SPRINGAMQP或RabbitMq Java API
- 6. 如何使用SpringAmqp设置RabbitMQ策略
- 7. TransactionAttributeType支持| NOT支持
- 8. Onclick不支持支持
- 9. HTML支持JS支持
- 10. 支持库不支持aar
- 11. 回复在SpringAMQP被预先设置?
- 12. 使用参数创建SpringAMQP队列
- 13. 支持或不支持monodroid支持异步?
- 14. rabbitmq HA群集
- 15. HA代理rethinkdb
- 16. Java HA框架
- 17. 支持
- 18. 长期支持,以发展分支的支持分支
- 19. actionButtonStyle不支持支持库v23.1.0
- 20. SuperSlim不支持Android支持库23.2.1
- 21. 开源IDE支持Git支持
- 22. 不支持linux 3.7.1支持ext2吗?
- 23. 支持Resume支持的Node.js请求流
- 24. EC2需要支持MVC3支持
- 25. 新来的android - 支持支持多屏
- 26. ios编译ffmpeg不支持ac3支持
- 27. TextArea MaxLength - 支持还是不支持?
- 28. 验证iMessage支持,短信支持
- 29. ActionBar(支持)与片段(支持)
- 30. OpenCV支持Android的硬件支持
你说的对RabbitMQ不支持故障转移。从spring-amqp客户端文档看来,它看起来像支持故障转移 - 但不清楚节点故障时连接是否会被负载平衡。 – Skynet
如何捕捉异常并尝试重新连接?你是否抓住了ShutdownSignalException – Praan