什么是 Kafka?
此异步 API 是使用 Apache Kafka 协议实现的。 它是一个专门针对容错设计的发布/预订事件平台,提供一个高吞吐量且低延迟的平台以用于处理实时数据订阅源。
Kafka 作为包含一个或多个服务器(Kafka 代理)的集群运行。 通过在服务器之间分发负载,均衡整个集群上的负载。
关键概念
主题
消息流存储在名为主题的类别中。 主题在 AsyncAPI 文档中表示为通道。 每个主题包含一个或多个分区。 每个分区都是一个有序的消息列表。 分区上的每个消息都被指定一个称为偏移量的单调递增数字。
消息/记录
Kafka 中的数据单元,包含两个部分:标头和值。 标头通常用于有关消息的数据,而值是消息的主体。
生产者
将消息流发布到 Kafka 主题的进程。 生产者可以发布到一个或多个主题,并且可以选择用于存储数据的分区。
使用者
使用来自 Kafka 主题的消息并处理消息订阅源的进程。 使用者可使用一个或多个主题或分区。
使用者组
一个或多个使用者的指定组,它们共同使用来自一组主题的消息。 组中每个使用者会读取为其分配的特定分区的消息。 每个分区只分配给组中一个使用者。 分配由“client.id”和“group.id”使用者属性控制。
使用此 API
您将需要 Kafka 客户机以进行连接和预订。 Kafka 客户机库适用于各种编程语言,而每个通道的样本代码是使用 Java Kafka 客户机来使用事件(通过使用 Kafka 使用者)的起点。