rabbitmq的AMQP客户端并没有做高可用性的工作,(java的是完全没有做,kombu只支持多hosts参数,在连接失败时必须自己处理重新连接)
因此,如果要自己做高可用性可以有两种做法
没钱的小屌丝就算了吧
可以搭建HaProxy集群来做
比较good,但是需要自己写程序哦
做这里有人做过了类似的:https://github.com/joshdevins/rabbitmq-ha-client
不管是采用哪种方案,在client里都必须去处理连接失败和重新连接的问题。
更多参考
RabbitMQ集群方案 http://blog.csdn.net/linvo/article/details/7793706
RabbitMQ+HAProxy: http://blog.csdn.net/linvo/article/details/7801413
RabbitMQ in Action: 测试RabbitMQ的高可用性: http://windwrite.com/archives/555