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不支持客户端认证机制。

posted @ 2019-02-17 17:49  liuxinyu123  阅读(558)  评论(0)    收藏  举报