聊一聊rabbitMQ和kafka的应用场景

我们知道常用的2款消息中间件是rabbitmq和kafka,他们2者都有什么各自的特点和应用场景呢?我们下面就聊一聊。

rabbitmq消息的发送,首先经过exchange,然后由exchange根据路由把消息投递到绑定的队列中,exchange有3中类型:

  fanout:完全模式,消息会投递到和exchange绑定的所以队列中,使用于多个消费者应用的场景。

  direct:直接模式,消息投递根据发送的routingkey和bindingkey完全匹配的队列中,使用单消费者场景。

  topic:topic模式,消息投递模糊匹配路由规则,可以投递到多个匹配的队列中。

rabbitmq的消息可以持久化,也可以不持久化,消息消费完就被删除,不能重复消费。

rabbitmq cluster消息的存储,一个队列只能在一台机器上存储,无法实现分片存储。

kafka消息发送topic,topic可以多个分区,同一个topic的消息可以分片保存在不同的机器上,消息持久化存储在磁盘上,一个消息可以重复消费,不用像rabbitmq一样,有几个消费者来消费这个消息,就需要几个消息队列来存储这个消息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值