kafka rabbitmq benstalkd 消息队列对比
kafka
1、不支持事务,对消息的重复、丢失、错误没有严格要求。
2、用于处理活跃的流式数据,大数据量的数据处理上。
3、吞吐量较高。
4、支持批量。
rabbitmq
1、用于实时的,对可靠性要求较高的消息传递上。消息应当尽可能的小。
2、支持事务,不支持批量操作,吞吐量小。
3、有消息确认机制。
benstalkd
1、支持优先级(支持任务插队)。
2、延迟(实现定时任务),比如30分钟未付款直接取消订单。
3、持久化(定时把内存中的数据刷到binlog日志)。
4、预留(把任务设置成预留,消费者无法取出任务,等待某个合适的时机再拿出来处理)。
5、任务超时重发(消费者必须在指定的时间内处理任务,如果没有则认为任务失败,重新进入队列)。
6、默认单机,需要客户端自己实现负载均衡,和memcache 比较相识。
7、消息确认。
8、Beanstalkd不支持客户端认证机制。

浙公网安备 33010602011771号