kafka严格保证了消息队列的顺序。处理活跃的流式数据,大数据量的数据处理上。
rabbitmq不承诺消息的顺序性,并发处理线程,队列中不必排队,若对处理顺序无要求用rabbitmq。用在实时的对可靠性要求较高的消息传递上。

对比项kafkarabbitmq
开发语言scala,Javaerlang
是否支持多租户2.x.x支持多租户支持多租户
是否支持topic优先级不支持支持
是否支持消息全局有序不支持支持
是否支持消息分区有序支持支持
是否内置监控无内置监控内置监控
是否支持多个生产者一个topic支持多个生产者
是否支持多个消费者一个topic支持多个消费者
是否支持一个分区多个消费者不支持不支持
是否支持JMX支持不支持(非java语言编写)
是否支持加密支持支持
消息队列协议支持仅支持支持AMQP、MQTT、STOMP协议
客户端语言支持支持多语支持多语言客户端
是否支持消息追踪不支持支持消息追踪
是否支持消费者推模式不支持支持消费者推模式
是否支持消费者拉模式支持消支持消费者拉模式
是否支持广播消息支持广支持广播消息
是否支持消息回溯支持消息回溯,因为消息持久化,消息被消费后会记录offset和timstamp
是否支持消息数据持久化支持消息数据持久支持消息数据持久
是否支持消息堆积支持消息堆积,并批量持久化到磁盘支持阈值内的消息对接,无法支持
是否支持流量控制支持控制用户和客户端流量支持生产者的流量控制
是否支持事务性消息支持不支持
元数据管理通过zookeeper进行管理支持消息数据持久
默认服务端口92005672
默认监控端口kafka web console 9000;kafka manager 9000;15672
网络开销相对较小相对较大
内存消耗相对较小相对较大
                                                                                               |
Logo

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

更多推荐