Kafka客户端核心参数详解

这一部分主要是从客户端使用的角度来理解 Kakfa 的重要机制。重点依然是要建立自己脑海中的 Kafka 消费模型。Kafka 的 HighLevel API 使用是非常简单的,所以梳理模型时也要尽量简单化,主线清晰,细节慢慢扩展。

一、从基础的客户端说起
Kafka 提供了非常简单的客户端 API 。只需要引入一个 Maven 依赖即可:

1 、消息发送者主流程
然后可以使用 Kafka 提供的 Producer 类,快速发送消息。


整体来说,构建 Producer 分为三个步骤:

  1. 设置 Producer 核心属性 : Producer 可选的属性都可以由 ProducerConfig 类管理。比如
    ProducerConfig.BOOTSTRAP_SERVERS_CONFIG 属性,显然就是指发送者要将消息发到哪个 Kafka 集群上。这是每个Producer 必选的属性。在 ProducerConfig 中,对于大部分比较重要的属性,都配置了对应的DOC 属性进行描述。
  2. 构建消息 : Kafka 的消息是一个 Key-Value 结构的消息。其中, key 和 value 都可以是任意对象类型。其中,key 主要是用来进行 Partition 分区的,业务上更关心的是 value 。
  3. 使用 Producer 发送消息。 :通常用到的就是单向发送、同步发送和异步发送者三种发送方式。
    2 、消息消费者主流程
    接下来可以使用 Kafka 提供的 Consumer 类,快速消费消息。


    整体来说, Consumer 同样是分为三个步骤:
  4. 设置 Consumer 核心属性 :可选的属性都可以由 ConsumerConfig 类管理。在这个类中,同样对于大部分比较重要的属性,都配置了对应的DOC 属性进行描述。同样 BOOTSTRAP_SERVERS_CONFIG 是必须设置的属性。
  5. 拉取消息 : Kafka 采用 Consumer 主动拉取消息的 Pull 模式。 consumer 主动从 Broker 上拉取一批感兴趣的消息。
  6. 处理消息,提交位点 :消费者将消息拉取完成后,就可以交由业务自行处理对应的这一批消息了。只是消费者需要向Broker 提交偏移量 offset 。如果不提交 Offset , Broker 会认为消费者端消息处理失败了,还会重复进行推送。
    Kafka 的客户端基本就是固定的按照这三个大的步骤运行。在具体使用过程中,最大的变数基本上就是给生产者和消费者的设定合适的属性。这些属性极大的影响了客户端程序的执行方式。
相关推荐
AI人工智能+电脑小能手2 小时前
【大白话说Java面试题 第87题】【Mysql篇】第17题:分布式事务的实现原理?
java·数据库·分布式·mysql·面试
不爱编程的小陈8 小时前
事务的进化:从MySQL单机事务到TiDB分布式事务的探究
分布式·mysql·tidb
是小王同学啊~13 小时前
Kafka 面试通关笔记:高频八股 + 生产实战 + 追问链路(上)
笔记·面试·kafka
Devin~Y13 小时前
从内容社区到AIGC客服:Spring Boot、Redis、Kafka、K8s、RAG的三轮大厂Java面试对话(附标准答案)
java·spring boot·redis·spring cloud·kafka·kubernetes·micrometer
Hello_worlds14 小时前
Kafka InconsistentClusterIdException 导致容器无限重启,磁盘打满排查与修复
docker·kafka·磁盘·排障
007张三丰15 小时前
AIoT与嵌入式系统深度解析:2026软考案例核心考点全攻略
物联网·mqtt·kafka·freertos·时序数据库·tdengine·aiot
Java 码思客15 小时前
【Redis分布式缓存实战】第4章 单机Redis部署、配置与基础优化
redis·分布式·缓存
卷毛迷你猪15 小时前
快速实验篇(A3)基于 Hive 的气象数据数仓构建与干旱指标初步分析
大数据·hadoop·分布式
卷毛迷你猪16 小时前
快速实验篇(A4)Hive 数据仓库进阶:全站点干旱事件识别与多维统计分析
数据仓库·hive·hadoop·分布式
RingWu17 小时前
高并发三板斧-异步
分布式·微服务·架构