RabbitMQ集群搭建的初步认识Haproxy高可用
一般来说,如果只是为了学习RabbitMQ或者验证业务工程的正确性那么在本地环境或者测试环境上使用其单实例部署就可以了,但是出于MQ中间件本身的可靠性、并发性、吞吐量和消息堆积能力等问题的考虑,在生产环境上一般都会考虑使用RabbitMQ的集群方案。
-
集群方案原理:
一般来说,如果只是为了学习RabbitMQ或者验证业务工程的正确性那么在本地环境或者测试环境上使用其单实例部署就可以了,但是出于MQ中间件本身的可靠性、并发性、吞吐量和消息堆积能力等问题的考虑,在生产环境上一般都会考虑使用RabbitMQ的集群方案。
一丶单击多实例(伪集群)
主要参考官方文档:https://www.rabbitmq.com/clustering.html
-
首先确保RabbitMQ运行没有问题
[root@super ~]# rabbitmqctl status Status of node rabbit@super ... [{ pid,10232}, { running_applications, [{ rabbitmq_management,"RabbitMQ Management Console","3.6.5"}, { rabbitmq_web_dispatch,"RabbitMQ Web Dispatcher","3.6.5"}, { webmachine,"webmachine","1.10.3"}, { mochiweb,"MochiMedia Web Server","2.13.1"}, { rabbitmq_management_agent,"RabbitMQ Management Agent","3.6.5"}, { rabbit,"RabbitMQ","3.6.5"}, { os_mon,"CPO CXC 138 46","2.4"}, { syntax_tools,"Syntax tools","1.7"}, { inets,"INETS CXC 138 49","6.2"}, { amqp_client,"RabbitMQ AMQP Client","3.6.5"}, { rabbit_common,[],"3.6.5"}, { ssl,"Erlang/OTP SSL application","7.3"}, { public_key,"Public key infrastructure","1.1.1"}, { asn1,"The Erlang ASN1 compiler version 4.0.2","4.0.2"}, { ranch,"Socket acceptor pool for TCP protocols.","1.2.1"}, { mnesia,"MNESIA CXC 138 12","4.13.3"<