跳转至

Kafka 简介

时间:2019/6/4 15:50:40

参考:

Kafka 简介#

Kafka 是一个分布式流处理平台。可以作为 消息系统流处理平台数据存储平台。 当前最新版本 2.2.0

Kafka 采用客户端主动拉取消息的模式,因此减轻了服务器端主动推送消息带来的业务处理压力。客户端可以指定消息读取的位置。

基本概念:

  • 集群:多个KafKa实例,构成一个集群。
  • 主题(Topic):存储消息的逻辑区分,类似于数据库的表。
  • 分区(Partition):一个主题可以有多个分区,分区会尽可能均匀的分布在集群的机器上。
  • 副本:分区数据的复制,用于消息备份。主副本所在的机器作为 Leader 机器和客户端进行数据交互。
  • 消费者组:消费者以组为单位对指定主题的数据进行消费。
  • 生产者:发送数据到指定主题的指定分区。
  • 消费者:从指定主题拉取数据。

消息系统#

  • 消息队列:生产者发送消息到指定主题,消费者以消费者组为基础对消息进行消费。每个消费者分区都可以获得主题的完整数据,一条消息只会发送给每个分组一次。
  • 发布订阅:生产者发送消息到指定主题,消费者消费指定主题的数据。一个消费者组一个消费者。

流处理#

通过API构造流处理拓补图(数据处理流水线),对元数据进行处理,中间值和处理结果都可存储到指定 Topic

数据存储#

数据持久化到磁盘,通过设置复制因子,对消息进行备份。生产者发送消息时可以等待服务回应,当消息被每个复制节点保存之后返回确认消息。