kafka是什么
是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统。
是一个高性能跨语言分布式发布/订阅消息队列系统。
Kafka是一种发布-订阅模式。(消息传递的主要模式:点对点传递模式、发布-订阅模式)
kafka特点
- 提供消息持久化能力
- 高吞吐率
- 支持Kafka Server间的消息分区,及分布式消费,同时保证每个partition内的消息顺序传输
- 同时支持离线数据处理和实时数据处理
- 异步通信
两种消息传递模式比较
|
特点\模式 |
点对点 |
发布-订阅 |
|
1 |
消息持久化到一个队列中 |
消息被持久化到一个topic中 |
|
2 |
一条消息只能被消费一次 |
一条数据可以被多个消费者(订阅了topic的订阅者)消费 |
|
3 |
数据被消费后被立马删除 |
数据被消费后不会立马删除 |
|
4 |
即使有多个消费者同时消费数据,也能保证数据处理的顺序 |
保证一个Partition内的消息的有序性 |
kafka相关术语介绍
|
broker | topic | partition | leader | follower | |
| 是什么 | Kafka 集群包含一个或多个服务器,服务器节点称为broker | 每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic | topic中的数据分割为一个或多个partition(分区) | 每个partition有多个副本,其中有且仅有一个作为Leader | Follower跟随Leader |
| 作用 | broker存储topic的数据 | 消费者订阅topic后可以消费该topic中所有的数据 | 将topic内的数据分布到集群,防止所有数据屯在一个broker造车性能瓶颈,实现水平扩展 | 负责数据的读写的partition | Follower与Leader保持数据同步。如果Leader失效,则从Follower中选举出一个新的Leader |
| 其他 |
| 物理上不同Topic的消息分开存储 |
| 当Follower与Leader挂掉、卡住或者同步太慢,leader会把这个follower从“in sync replicas”(ISR)列表中删除,重新创建一个Follower。 |
Kafka是一个高性能的分布式发布-订阅消息队列,提供消息持久化、高吞吐率和多订阅者特性。它支持数据分区和多副本,确保消息的有序性和可靠性。Kafka集群由broker组成,每个topic可被划分为多个partition,每个partition有leader和followers。消费者可以订阅topic并按需消费数据。在保证消息顺序和高可用性的同时,Kafka还允许离线和实时数据处理。
1270

被折叠的 条评论
为什么被折叠?



