RabbitMQ
rabbitMQ是分布式系统,用来转发服务间的消息,是一个基于AMQP协议的消息中间件。
为什么使用Kafka?
使用RabbitMQ有个缺点,master queue是单节点的,那么就会导致性能瓶颈,吞吐量受限,虽然使用了Erlang语言来实现,但是架构设计还是有缺陷的,所以这时考虑到了kafka。
kafka
kafka有多个master,不同master之间不可以通信,但是可以处理高吞吐量
RabbitMQ相对来说,虽然不能批量处理,但支持事务,还是比较可靠的。