Kafka基本概念认识
Kafka的处理的单元:事件
事件:记录着世界的发生的事情;在文档中我们将其事情称之为消息和记录。
从概念上讲,事件具有以下的属性
键 值 时间戳 可选的元数据标题
具体例子如下:
- Event key: "Alice"
- Event value: "Made a payment of $200 to Bob"
- Event timestamp: "Jun. 25, 2020 at 2:06 p.m.
生产者(Producers):向Kafka发布(写入)事件的客户端应用程序。
消费者(Consumers):向Kafka订阅(读取和处理)事件的客户端应用程序
主题(Topic):类似文件系统中的文件夹,事件就是文件夹中的文件(使用后的事件并不会自动删除)
分区(Partition):主题就是分区;分区是主题的物理实现;主题和分区的关系如下所示(图自官网):
摘自官方翻译:
本示例主题具有四个分区P1-P4。通过在网络上将事件写入主题分区,两个不同的生产者客户端正在彼此独立地发布新事件。具有相同键(在图中由其颜色表示)的事件被写入相同的分区。请注意,如果合适,两个生产者都可以写入相同的分区。
Ps:新事件发布到某个主题时,它实际上会附加到该主题的一个分区中。具有相同事件密钥(例如,客户或车辆ID)的事件将写入同一分区,并且Kafka保证,给定主题分区的任何使用者都将始终以与写入时完全相同的顺序读取该分区的事件。