MQ与kafka之间的对比

来源:互联网 发布:中国历史故事软件 编辑:程序博客网 时间:2024/06/17 05:29

1.是否遵守JMS规范

MQ遵守了jms规范,kafka没有遵循jms规范。kafka利用文件系统来管理消息的生命周期

2. 吞吐量

kafka是顺序写磁盘,因此效率非常高。Kafka基于时间或者partition的大小来删除消息,同时broker是无状态的,consumer的消费状态(offset)是由consumer自己控制的(每一个consumer实例只会消费某一个或多个特定partition的数据,而某个partition的数据只会被某一个特定的consumer实例所消费),也不需要broker通过锁机制去控制消息的消费,所以吞吐量惊人,这也是Kafka吸引人的地方。

kafka支持高吞吐率,即使在非常廉价的商用机器上也能做到单机支持每秒100K条以上消息的传输。

MQ的吞吐量各有不同,但是跟kafka比,还是有一定差距。

3. 抗压性

kafka在大数据量下依然保持O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间复杂度的访问性能。而MQ则会出现性能下降。

4. 是否支持离线数据处理和实时数据处理

kafka同时支持离线数据处理和实时数据处理。

5. 扩展性比较

kafka支持在线水平扩展

6. 消息安全性

kafka可以保证在绝大多数情况下消息的安全性。当消息算作commit的时候才会暴露给consumer,并保证at-least-once的投递原则。

7. 可用性,稳定容错性

Kafka天然支持HA,leader挂了,follower自动选举出新的leader。

8.



0 0
原创粉丝点击