这篇博文来对常用的消息中间件做一个对比。
前几天在一篇文章中看到这么一句话:
“不是只有永远在一起,才叫好的结局,相遇之后,我们都变成了更好的人,也叫好的结局。”
对于消息中间件的选择来说,当在你的业务达到瓶颈, 使用哪个能快速解决你当前的问题那就是最好的。
追求完美本身没有错,然而完美往往是需要时间的,先做出来,再优化它,否则没完美前就已经死了。
目前市面上常用的消息中间件框架有哪些呢?
以下图片来自https://start.spring.io
当然,还有很多其他很多种消息中间件,甚至据说redis 也支持消息发布和订阅模式,这里就不一一列举了。
下面博主整理了一些比较关注的一些参数以供参考。
对比参数 | IBM MQ | Rabbit MQ | Apache Kafka |
---|---|---|---|
是否付费 | 收费 | 免费 | 免费 |
底层实现语言 | Java | Erlang | Scale &Java |
特点 | 强大、 安全、 稳定的消息 | 简单易用 | 海量数据处理, 可以和大数据Spark框架整合 |
是否开源 | 闭源 | 开源 | 开源 |
版权归属 | IBM | Pivotal(EMC,VMware和通用电气(GE)联合成立的公司) | Apache 开源软件基金会 |
维护难度 | 简单 | 一般 | 复杂 |
博主评语 | 付费中可靠的消息中间件 | 开源的消息中间件,支持多种使用场景 | 分布式流处理框架,消息发布订阅只是其中一个功能,支持海量数据分布式集群,可方便与大数据Spark 框架整合 |
本篇完~