赞
踩
https://mp.weixin.qq.com/s/-IPfWPS1WQMEgcIu0Ak2VQ
https://blog.csdn.net/qq_36918149/article/details/99656156
Kafka是一个分布式流式处理平台,主要有三个关键功能。
主要应用场景:
主要优势:
队列模型:早期的消息队列
使用队列(Queue)作为消息通信载体,满足生产者与消费者模式,一条消息只能被一个消费者使用,未被消费的消息在队列中保留直到被消费或超时。
比如:我们生产者发送100条消息的话,两个消费者来消费一般情况下两个消费者会按照消息发送的顺序各自消费一半。
队列模型存在的问题:
假如我们需要将消费者产生的消息分发给多个消费者,并且每个消费者都能接收到完整的消息内容。
这样情况下,队列模型就不好解决了。
发布-订阅模型:Kafka消息模型
发布订阅模型(Pub-Sub)使用主题(Topic)作为消息通信载体,类似于广播模式;发布者发布一条消息,该消息通过主题传递给所有的订阅者,在一条消息广播之后才订阅的用户则是收不到该条消息的。
在发布-订阅模型中,如果只有一个订阅者,那它和队列模型就基本是一样的了,所以锁,发布-订阅模型在功能层面上是可以兼容队列模型的。
Kafka采用的就是发布-订阅模型。
RocketMQ的消息模型和Kafka基本是完全一样的。唯一区别就是Kafka中没有队列这个概念,与之对应的是Partition分区。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。