随笔rabbitmq与kafka区别
对比项kafkarabbitmq开发语言Javaerlang是否支持多租户2.x.x支持多租户支持多租户是否支持topic优先级不支持支持是否支持消息全局有序不支持支持是否支持消息分区有序支持支持是否内置监控无内置监控内置监控是否支持多个生产者一个topic支持多个生产者是否支持多个消费者一个topic支...
·
kafka严格保证了消息队列的顺序。处理活跃的流式数据,大数据量的数据处理上。
rabbitmq不承诺消息的顺序性,并发处理线程,队列中不必排队,若对处理顺序无要求用rabbitmq。用在实时的对可靠性要求较高的消息传递上。
对比项 | kafka | rabbitmq |
---|---|---|
开发语言 | scala,Java | erlang |
是否支持多租户 | 2.x.x支持多租户 | 支持多租户 |
是否支持topic优先级 | 不支持 | 支持 |
是否支持消息全局有序 | 不支持 | 支持 |
是否支持消息分区有序 | 支持 | 支持 |
是否内置监控 | 无内置监控 | 内置监控 |
是否支持多个生产者 | 一个topic支持多个生产者 | |
是否支持多个消费者 | 一个topic支持多个消费者 | |
是否支持一个分区多个消费者 | 不支持 | 不支持 |
是否支持JMX | 支持 | 不支持(非java语言编写) |
是否支持加密 | 支持 | 支持 |
消息队列协议支持 | 仅支持 | 支持AMQP、MQTT、STOMP协议 |
客户端语言支持 | 支持多语 | 支持多语言客户端 |
是否支持消息追踪 | 不支持 | 支持消息追踪 |
是否支持消费者推模式 | 不支持 | 支持消费者推模式 |
是否支持消费者拉模式 | 支持消 | 支持消费者拉模式 |
是否支持广播消息 | 支持广 | 支持广播消息 |
是否支持消息回溯 | 支持消息回溯,因为消息持久化,消息被消费后会记录offset和timstamp | |
是否支持消息数据持久化 | 支持消息数据持久 | 支持消息数据持久 |
是否支持消息堆积 | 支持消息堆积,并批量持久化到磁盘 | 支持阈值内的消息对接,无法支持 |
是否支持流量控制 | 支持控制用户和客户端流量 | 支持生产者的流量控制 |
是否支持事务性消息 | 支持 | 不支持 |
元数据管理 | 通过zookeeper进行管理 | 支持消息数据持久 |
默认服务端口 | 9200 | 5672 |
默认监控端口 | kafka web console 9000;kafka manager 9000; | 15672 |
网络开销 | 相对较小 | 相对较大 |
内存消耗 | 相对较小 | 相对较大 |
|
更多推荐
已为社区贡献1条内容
所有评论(0)