Kafka3.0

Kafka 是一个事件流平台#

  • 发布/订阅事件流,包括从其他系统持续导入/导出数据
  • 持久/可靠地存储事件流
  • 处理发生/回溯的事件流

Kafka 是一个由服务端和客户端组成的分布式系统,通过高性能TCP协议进行网络通信#

服务端#

一个或者多个server组成的集群,可以拓展成多个数据中心或者云区域

存储层的server被称为 broker

其他的server运行Kafka以事件流的方式持续导入/导出数据,整合现有系统到Kafka,例如关系型数据库和其他

客户端#

允许建立能并行读/写/处理事件流的分布式应用和微服务

Event 事件#

event 记录的是业务中存在的事实

一个 event 中有键、值、时间戳和可选的元数据头

  • Event key: "Alice"
  • Event value: "Made a payment of $200 to Bob"
  • Event timestamp: "Jun. 25, 2020 at 2:06 p.m."

Producers 生产者 Consumers 消费者#

Producers 写/发布消息到Kafka,Consumers 从Kafka读/消费消息

生产者和消费者是完全解耦和互不相知的

Topic 主题#

事件有组织的,永久存储在 topic 中,topic 就像文件系统中的文件夹,事件就是文件夹中的文件

Kafka中的主题永远都有多个生产者和多个消费者

主题中的事件一旦需要就可以读取,不像传统的消息系统,事件被消费之后不会被删除

可以在每个主题中自定义旧事件被摒弃后,Kafka保持的事件长度

Partition 分区#

主题是被分区的,这意味着一个主题是分布在定位于不同的 broker 上的一定数量数据桶中

这种分布式数据放置提供了可伸缩性,允许客户端应用同时从许多 broker 中读/写数据

当一个新的事件发布到一个主题,实际上是放到了主题的某个分区上,同一个键的事件写入到同一个分区

Kafka保障指定主题分区的任何消费者按照写入的顺序读取分区事件

Kafka3.0

为了确保数据容错和高可用,每个主题都能被复制,复制数量是可以设置的,在主题分区级别执行

 

上一篇:【思维】1161 开灯——利用异或运算的性质


下一篇:安装ubuntu16并配置本地仓库、ssh和网络