Kafka 实战 - Kafka Broker工作流程

这篇具有很好参考价值的文章主要介绍了Kafka 实战 - Kafka Broker工作流程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Apache Kafka Broker 在 Kafka 集群中扮演着核心角色,负责接收、存储、复制及分发消息。以下是 Kafka Broker 的工作流程概览:

1. 启动与初始化

  • 加载配置:Kafka Broker 从 server.properties 文件加载配置参数,包括 Broker ID、监听地址、日志目录、ZooKeeper 连接信息等。

  • 注册到 ZooKeeper:Broker 与 ZooKeeper 集群建立连接,将自己的元数据(如 Broker ID、主机名、端口)注册到指定的 ZooKeeper 路径,便于其他组件发现。

2. 主题管理与分区分配

  • 主题创建:当管理员通过 Kafka 控制台或命令行工具创建主题时,Broker 会在 ZooKeeper 中记录主题信息,并在本地创建相应的日志目录。

  • 分区分配:每个主题包含多个分区,Broker 根据配置策略(如轮询、范围等)将分区分配到集群中的各个 Broker 上。分区信息也存储在 ZooKeeper 中,供生产者和消费者查询。

3. 消息接收与存储

  • 生产者连接:生产者与 Broker 建立 TCP 连接,发送消息到指定主题和分区。

  • 消息批次:Broker 接收并缓存生产者发送的消息批次,直到达到 batch.sizelinger.ms 规定的条件后,再一次性写入磁盘。

  • 日志存储:Kafka 使用分段日志(segment files)存储消息。每个分区对应一个日志目录,其中包含多个有序的日志文件和索引文件。新消息追加到当前活跃的日志文件尾部。

4. 副本管理与复制

  • ISR(In-Sync Replicas)维护:每个分区都有一个 Leader 副本和若干 Follower 副本。Leader 负责处理读写请求,Follower 通过拉取或推送方式从 Leader 复制消息。Broker 监控各副本的同步状态,维护 ISR 列表,只包含与 Leader 完全同步的副本。

  • 复制流程:生产者发送的消息先被 Leader 副本接收并写入其日志。Follower 副本通过拉取请求从 Leader 获取新的消息,将其写入自己的日志。当 Follower 完成复制且与 Leader 保持同步时,它在 ISR 列表中。

  • 副本选举:当 Leader 副本发生故障时,ZooKeeper 或内部控制器(Kafka 0.11+引入KRaft协议后可能无需ZooKeeper)会从 ISR 列表中选出一个新的 Leader,确保服务连续性。

5. 消费者交互与消息消费

  • 消费者订阅:消费者连接到 Broker,订阅感兴趣的主题和分区。Broker 返回分区的元数据,包括 Leader 位置和当前的消费位移。

  • 拉取请求:消费者定期向 Leader 副本发起拉取请求,指定要消费的分区和最大消息数量。Broker 从日志中读取相应偏移量处的消息,返回给消费者。

  • 位移管理:消费者记录自己在每个分区上的消费进度(位移)。可以选择自动提交位移(每条消息、定时或手动),或者自行管理并在适当时候提交到 Broker。

6. 监控与运维

  • JMX 监控:Broker 提供丰富的 JMX 指标,可用于监控 Broker 状态、消息流量、磁盘使用、副本同步状况等。

  • 日志与告警:Broker 记录运行日志,包括关键操作、错误信息等。结合监控系统设置告警规则,及时发现并处理潜在问题。

  • 配置更新与滚动重启:在不影响服务的情况下,可以动态更新 Broker 配置并通过滚动重启使其生效。

综上所述,Kafka Broker 的工作流程涵盖了从启动、主题管理、消息接收存储、副本复制、消费者交互到监控运维等多个环节,这些环节共同构成了一个高效、可靠的消息传输系统。在实际应用中,理解和掌握这些流程有助于进行有效的集群运维、性能调优以及故障排查。文章来源地址https://www.toymoban.com/news/detail-852508.html

到了这里,关于Kafka 实战 - Kafka Broker工作流程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Kafka—工作流程、如何保证消息可靠性

    分布式事件流平台 。希望不仅仅是存储数据,还能够数据存储、数据分析、数据集成等功能。消息队列(把数据从一方发给另一方),消息生产好了但是消费方不一定准备好了(读写不一致),就需要一个中间商来存储信息,kafka就是中间商 架构图如下: 名称 解释 Broker 消

    2024年02月11日
    浏览(52)
  • Kafka3.0.0版本——消费者(消费者总体工作流程图解)

    角色划分:生产者、zookeeper、kafka集群、消费者、消费者组。如下图所示: 生产者发送消息给leader,followerr主动从leader同步数据,一个消费者可以消费某一个分区数据或者一个消费者可以消费多个分区数据。如下图所示: 每个分区的数据只能由消费者组中一个消费者消费。如下

    2024年02月09日
    浏览(53)
  • 【云原生进阶之PaaS中间件】第三章Kafka-4.4-消费者工作流程

    1.1.1 消费者群组         Kafka 里消费者从属于消费者群组,一个群组里的消费者订阅的都是同一个主题,每个消费者接收主题一部分分区的消息。         如上图,主题 T 有 4 个分区,群组中只有一个消费者,则该消费者将收到主题 T1 全部 4 个分区的消息。      

    2024年02月22日
    浏览(50)
  • Python爬虫分布式架构 - Redis/RabbitMQ工作流程介绍

    在大规模数据采集和处理任务中,使用分布式架构可以提高效率和可扩展性。本文将介绍Python爬虫分布式架构中常用的消息队列工具Redis和RabbitMQ的工作流程,帮助你理解分布式爬虫的原理和应用。 为什么需要分布式架构? 在数据采集任务中,单机爬虫可能面临性能瓶颈和资

    2024年02月11日
    浏览(44)
  • Kafka学习--3、Kafka Broker、节点服役和退役、Kafka 副本、Leader 选举流程、故障处理

    1.1 Kafka Broker工作流程 1.1.1 Zookeeper储存的Kafka信息 (1)启动Zookeeper集群、再启动Kafka集群,然后启动Zookeeper客户端 (2)通过ls命令可以查看kafka相关信息。 1.1.2 Kafka Broker总体工作流程 1、模拟Kafka上下线,Zookeeper中数据变化 (1)查看/kafka/brokers/ids 路径上的节点。 (2)查看

    2024年02月10日
    浏览(43)
  • camunda工作流实战项目(表单设计器+流程编辑器,零代码创建流程)

    基于ruoyi平台和camunda工作流开发而成,结合bpmn.js流程编辑器和vform表单设计器,实现常规流程零代码创建。 具备流程中心的能力,支持外部任务,可协调多个业务系统协同工作 具备SaaS平台的能力,支持多租户,各业务系统可作为租户,创建自己的流程,通过外部任务与自身

    2024年02月12日
    浏览(56)
  • 分布式消息流处理平台kafka(一)-kafka单机、集群环境搭建流程及使用入门

    kafka最初是LinkedIn的一个内部基础设施系统。最初开发的起因是,LinkedIn虽然有了数据库和其他系统可以用来存储数据,但是缺乏一个可以帮助处理持续数据流的组件。 所以在设计理念上,开发者不想只是开发一个能够存储数据的系统,如关系数据库、Nosql数据库、搜索引擎等

    2024年02月16日
    浏览(52)
  • TCP/IP协议工作原理与工作流程

    使用OSI模型来描述一个网络中的各个协议层,如下: TCP/IP协议,英文全称Transmission Control Protocol/Internet Protocol,包含了一系列构成互联网基础的网络协议,是Internet的核心协议。TCP/IP协议是一个协议簇,包含了应用协议、传输协议、网际互联协议和路由控制协议。如下图: 应

    2024年04月25日
    浏览(49)
  • 网络安全等级保护测评:工作流程及工作内容

    **一、** 网络安全等级保护测评过程概述 网络安全等级保护测评工作过程包括四个基本测评活动: 测评准备活动、方案编制活动、现场测评活动、报告编制活动 。而测评相关方之间的沟通与洽谈应贯穿整个测评过程。每一项活动有一定的工作任务。如下表。 01 基本工作流程

    2024年02月06日
    浏览(55)
  • 机器学习工作流程

    机器学习的定义 机器学习的工作流程 获取到的数据集的特性 1、什么是机器学习 机器学习是 从数据中自动分析获得模型,并利用模型对未知数据进行预测。 2、机器学习工作流程 机器学习工作流程总结 1、获取数据 2、数据基本处理 3、特征工程 4、机器学习(模型训练)

    2024年02月04日
    浏览(67)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包