1、kafka单机tps比rocketmq高一点。
2、kafka消息失败不支持重试。
3、kafka的topic越多,性能越差,原因是kafka的topic消息存多个partition,topic越多,partition越多,磁盘io效率降低。
     rocketmq一个broker机器上所有topic消息都存一个commitlog文件,并且数据对应到commitQueue队列,并且使用了linux的
     pagecache, 磁盘一页一页读取,每读一次,就会将一页数据存于高速缓存。并且采用零拷贝,直接从磁盘数据拷贝到网络驱动态内存,提高了读取效率。
3、rocketmq和kafka都支持消息顺序,但kafka的topic就只能设置一个partition,rocketmq也只能设置一个consumerQueue队列。
4、kafka不支持定时消息。rocketmq支持指定的定时级别。
5、kafka不支持分布式事务消息,mq支持。


普通数据拷贝过程:
1、磁盘数据到系统内核态内存
2、系统内核态内存到用户态内存。
3、用户态内存到网络驱动态内存。
4、网络驱动态内存到网卡内存。

 

可参考:https://my.oschina.net/laigous/blog/3079368

Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐