上面三个章节学习了Rabbitmq的几种使用场景,这就结束了吗?
我们需要处理的事情还远远不止上面那些使用场景。
往往在真实环境中,我们还需要考虑很多事情:
1. HA,部署高可用集群,来保证服务可靠性和消息可靠性。
2. 排错工具,通过监控rabbitmq的状态,查看日志。
3. 问题处理,网络分区,rabbitmq不接收消息,消息堆积,网络故障后不能自动重连
4. 性能评估,硬件选型,性能调优等
HA实现方案1
采用rabbitmq自身的cluster机制来实现高可用。
实现vhost & exchange & queue & binding等元信息同步。
mirror queue 实现队列中消息的同步。
HA实现方案2
存储后端采用共享存储 SAN or NAS or DRBD等
pacemaker:实现服务监控和故障转移
大多数场景我们采用方案1就能满足我们的各种需求。
rabbitmq cluster创建集群过程非常简单,集群实现
rabbit2$ rabbitmqctl stop_app
Stopping node rabbit@rabbit2 ...done.
rabbit2$ rabbitmqctl join_cluster rabbit@rabbit1
Clustering node rabbit@rabbit2 with [rabbit@rabbit1] ...done.
rabbit2$ rabbitmqctl start_app
Starting node rabbit@rabbit2 ...done.
设置镜像队列:mirror queue,通过 rabbitmqctl set_policy
命令实现。
具体命令格式参考 HA实现 。