1 MQ选型的标准
1.1 开源(白嫖)
方便可以修改源代码,而非一味地等待软件提供商猴年马月发布的下个版本解决。在知识产权下,使用开源的才可商用。
1.2 生态(大家都玩)
只要你的使用场景不冷门,你遇到Bug的概率非常低,因为大部分你可能遇到的,其他人早就遇到并且修复。使用过程中遇到的一些问题,也容易在网上搜索到类似的,然后找到解决方案。和其他框架也能无缝对接。
1.3 确保消息可靠传递
1.4 Cluster
高可用性。
1.5 性能(用户就爱快的)
具备足够好的性能,能满足绝大多数场景的性能要求。
看完标准,于是市面上主要就如下可供选择:
2 RabbitMQ
2.1 优点
Erlang语言编写,最早是为电信行业系统可靠通信设计,是支持AMQP协议的消息队列之一。相当轻量级的消息队列,非常容易部署和使用。号称世上使用最广泛的开源消息队列。
支持非常灵活的路由配置
和其他消息队列不同,它在生产者(Producer)和队列(Queue)之间增加了一个Exchange模块。作用和交换机也非常相似,根据配置的路由规则将生产者发出的消息分发到不同的队列中。路由的规则也非常灵活,甚至你可