Kafka 入门:流式数据平台(一)

本文概述了Kafka作为流式数据平台的核心特点——数据注入、存储和处理,详细解释了其如何通过ConsumerGroup、数据复制和ack机制来实现这些功能。还介绍了Kafka的关键组件和API,如Producer、Consumer和Connectors,以及其在流处理中的角色。

流式数据平台的三个特点

  • 具备数据注入功能,类似消息系统,提供事件流的发布订阅
  • 具备数据存储功能,存储事件流数据的节点具有故障容错的特点
  • 具备流处理功能,能够对实时的事件流进行流式的处理和分析

Kafka 如何实现这三个特点?

消息系统

  • Kafka 使用 Consumer Group (消费组) 统一了队列和发布-订阅这两种消息模型
  • 使用队列模型时,将处理工作平均分配给消费组中的成员
    • 多个消费者读取,每条消息只发给一个消费者,如每个消费者的消费组名称都相同
  • 使用发布-订阅模型时,将消息广播给多个消费组
    • 多个消费者订阅主题,每条消息会发布给所有消费者,如每个消费者的消费组名称都不同
  • 消费组结合多个消费者,线性扩展消息的处理能力,消息也可以被多个消费组订阅

存储系统

  • 数据写入 Kafka 集群的时候,还会复制多份来保证出现故障时仍能使用,ack 机制可用保证消息都写入

流处理系统

  • Kafka 提供了完整的流处理 API,同时内部解决了很多乱序和迟到的数据、重新处理输入数据、窗口和状态操作等

核心 API

  • 生产者 producer:应用程序发布事件流到 Kafka 的一个或多个 topic
  • 消费者 consumer:应用程序订阅 Kafka 的一个或多个 topic,并处理事件流
  • 连接器 connector:将 Kafka topic 和已有的数据进行连接,数据可以相互导入导出
  • 流处理 processor:从 Kafka topic 消费输入流,经过处理后,产生输出流到输出 topic

Kafka 的 ack 机制
   ack = 0 时,不需要确认是否送达
   ack = 1 时,需要将消息写入 Leader replica 时才会返回成功
   ack = -1 时,将消息写入 Leader replica 后还需要将消息复制到 Follower replica 才会返回成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值