0
点赞
收藏
分享

微信扫一扫

kafka常用术语

柠檬的那个酸_2333 2024-11-24 阅读 14

一.常用术语

Kafka常用术语包括以下内容:

Producer(生产者):负责向Kafka发送消息的客户端。
Consumer(消费者):从Kafka中获取消息的客户端。一个消费者隶属于一个消费者组。
Consumer Group(消费组):一组消费者,共同消费一个Topic的数据,实现负载均衡和容错。
Topic(主题):Kafka中消息的分类标签,是一个逻辑概念,用于对消息进行归类。一个主题最少要有1个分区和1个副本。
Broker(代理):Kafka集群中的一个服务器节点,负责存储和管理分区数据。
Partition(分区):Topic中的消息被分割为一个或多个分区,每个分区内部的消息是有序的。
Replica(副本):每个分区可以有多个副本,用于数据备份和故障恢复。分为两种角色,即leader(读写)和follower(接管leader)。
AR:所有的副本,包含leader和follower副本。
ISR:表示和leader  同步的所有副本集合。
OSR:表示和leader不同步的所有副本即可。

Kafka的基本概念和架构包括:

Producer和Consumer:
Producer负责发送消息到Kafka集群,Consumer从集群中读取消息。它们都是Kafka的客户端,状态是否正常不影响Kafka本身的工作。

Topic和Partition:
Topic是消息的分类标签,Partition是物理上的概念,用于存储消息。每个Partition内部的消息是有序的,但不同Partition之间的消息顺序无法保证。

Broker和Replica:
Broker是Kafka集群中的一个服务器节点,负责存储和管理数据。每个Partition可以有多个Replica,用于数据备份和故障恢复。

Leader和Follower:
在每个Partition中,有一个Leader负责数据的读写操作,Follower从Leader同步数据,但在Producer和Consumer看来是不可见的。
当Leader故障时,Follower可以成为新的Leader。

Kafka常用的API主要包括以下几种:

Producer API:
允许应用程序将数据流发送到Kafka集群中的topic。
Producer API支持同步和异步发送消息,用户可以根据需要选择使用同步生产者或异步生产者。
同步生产者会实时发送每条消息,而异步生产者则会等待存了一批消息或者到了指定间隔时间才会一次性发送。

Consumer API:
允许应用程序从Kafka集群中的topic读取数据流。
Consumer API支持多种订阅模式,包括订阅单个topic、多个topic或特定的分区。

Streams API:
允许将输入topic的数据流转换为输出topic的数据流。
Streams API可以作为流处理器,处理来自一个或多个主题的输入流,并生成输出流,适用于复杂的数据处理任务。

Connect API:
允许实现连接器,持续地从某个源系统或应用程序拉取数据到Kafka,或将数据从Kafka推送到某个接收系统或应用程序中。
Connect API主要用于数据集成和实时数据流的处理。

Admin API:
允许管理和检查topic、代理以及其他Kafka对象。
Admin API提供了丰富的管理功能,如创建、删除、修改topic等。


举报

相关推荐

0 条评论