RabbitMQ的高可用性方案

之前写了一篇关于RabbitMQ的入门文章,深入了解和使用后,更多的人会关注其在生产上的应用,我结合工作中的项目,总结了关于RabbitMQ在生产上的架构方案,

我画了一个关于RabbitMQ HA(高可用性)的使用架构图:

RabbitMQ的高可用性方案

图中的MQ集群结点分为两类,一类是内存结点(RAM Node),另一类是磁盘结点(Disc Node),内存结点是性能高但没有持久化,磁盘结点则负责数据的持久化功能。

由于集群中每个结点中的数据都相同,所以不结点过多时数据同步会给系统的总体性能带来影响,所以不建议集群中使用过多的结点。

关于内存结点的负载均衡,采用的是HAProxy,相对于LVS和Nginx来说,HAProxy是最合适。

由于RabbitMQ的集群依懒于Erlang的集群功能,本文暂时不做深入分析。

上一篇:volatile与zookeeper


下一篇:MySQL查看表结构、合并结果集、插入数据