当前位置: 首页 > news >正文

kafka 消费模式基础架构

kafka 消费模式 &基础架构

  • 目录
    • 概述
      • 需求:
    • 设计思路
    • 实现思路分析
      • 1.kafka 消费模式
      • 基础架构
      • 基础架构2:
  • 参考资料和推荐阅读

Survive by day and develop by night.
talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for change,challenge Survive.
happy for hardess to solve denpendies.

目录

概述

kafka消费模式

需求:

设计思路

实现思路分析

1.kafka 消费模式

Kafka提供了两种主要的消费模式:发布-订阅模式和分区模式。

  1. 发布-订阅模式:在这种模式下,一个消息可以被多个消费者同时消费。每个消费者都独立地读取消息,并且不会影响其他消费者。这种模式非常适用于需要广播消息的场景,例如实时日志和即时通讯等。

  2. 分区模式:在这种模式下,消息被划分为多个分区并存储在不同的Kafka主题中。每个分区只能由一个消费者组中的一个消费者消费。这样可以保证同一个分区的消息按顺序被消费,并且可以进行负载均衡。这种模式适用于需要保证消息顺序和处理吞吐量的场景,例如订单处理和数据仓库等。

Kafka还支持多种消费者组合消费模式的组合,例如多个消费者组同时消费同一个主题,或者多个消费者组按分区消费同一个主题。这些模式可以根据具体的业务需求来选择。

基础架构

Kafka 是一个分布式流数据平台,用于高吞吐量、低延迟的处理大规模数据流。它具有以下基础架构组件:

  1. Producer(生产者):生产者负责将数据发布到 Kafka 集群。它可以将数据发送到指定的 topic 中。

  2. Consumer(消费者):消费者从 Kafka 集群中订阅一个或多个 topic,并消费流入的数据。消费者可以以不同的方式进行消费,如批量消费、实时消费等。

  3. Broker(代理服务器):Broker 是 Kafka 集群中的核心组件,负责接收和处理 Producer 发送的消息,并将消息持久化到磁盘中。每个 Broker 都是一个独立的服务器节点,多个 Broker 组成一个 Kafka 集群。

  4. Topic(主题):Topic 是消息的逻辑容器,类似于消息队列中的主题或频道。Producer 发布的消息会被发送到指定的 topic 中,而 Consumer 订阅的 topic 中的消息会被消费。

  5. Partition(分区):每个 topic 可以被分为多个分区,每个分区都是有序的、不可变的消息序列。分区可以分布在不同的 Broker 上,以实现负载均衡和容错。

  6. Replication(副本):Kafka 使用副本机制来提供数据的可靠性和容错性。每个分区都有多个副本,其中一个是 leader,负责处理客户端的读写请求,其他副本则充当 follower,用于备份数据和提供容错。

  7. Consumer Group(消费者组):Consumer Group 是一组共享相同消费逻辑的 Consumer 实例。当多个消费者加入同一个 Consumer Group 时,它们会协调消费 topic 中的分区,以实现负载均衡和并行处理。

  8. ZooKeeper:Kafka 使用 ZooKeeper 来管理和协调集群中的 Broker、Producer 和 Consumer。它负责维护集群的元数据,监控 Broker 的状态,并通知各个组件的变化。

以上是 Kafka 的基础架构组件,它们共同协作,实现了高性能、可扩展的数据流处理能力。

基础架构2:

  1. Producer(生产者):负责将消息发布到 Kafka 集群。Producer 将消息分发到指定的 Topic(主题)。每个消息包含一个键和一个值。

  2. Topic(主题):是消息发布的类别或者频道。Producer 可以将消息发布到一个或者多个主题。

  3. Consumer Group(消费者组):由一组消费者实例组成。每个消费者实例会订阅一个或多个主题,并从中消费消息。

  4. Broker(代理服务器):Kafka 集群由多个 Broker 组成,每个 Broker 负责存储和管理一部分主题的消息。Broker 之间会进行数据副本的同步,以实现高可用性。

  5. ZooKeeper:Kafka 使用 ZooKeeper 来进行集群管理和协调。ZooKeeper 负责存储关于 Broker、Topic 和 Consumer Group 等元数据信息,并协助进行故障恢复。

  6. Consumer(消费者):消费者以 Consumer Group 的形式订阅一个或多个主题,并从其中消费消息。每个消费者实例只会消费 Consumer Group 中的一个分区。

  7. Partition(分区):主题可以被分为一个或多个分区,每个分区是有序且独立存储的。分区在多个 Broker 之间进行数据副本的同步,以提高可用性和吞吐量。

参考资料和推荐阅读

参考资料
官方文档
开源社区
博客文章
书籍推荐

  1. 暂无

欢迎阅读,各位老铁,如果对你有帮助,点个赞加个关注呗!同时,期望各位大佬的批评指正~,如果有兴趣,可以加文末的交流群,大家一起进步哈

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Flutter 中的 ExpansionTile 小部件:全面指南
  • BWVS 靶场测试
  • CSS布局和定位应用方案
  • 网络编程-TCP并发服务器-多点通信-域套接字
  • 重学java 39.多线程 — 线程安全
  • 一篇文章讲透排序算法之希尔排序
  • 大摩:AI PC渗透率到2028年将达65%,联想和戴尔是最大受益者
  • 【linux】docker下nextcloud安装人脸识别插件
  • 碌时刻必备!微信自动回复让你告别消息堆积
  • 临时存储和永久存储的区别
  • HarmonyOS 鸿蒙应用开发 - 多态样式 stateStyles
  • solidworks画螺栓学习笔记
  • 自己手写一个栈【C风格】
  • Qml:线程
  • 93.网络游戏逆向分析与漏洞攻防-游戏技能系统分析-增强技能信息显示后进行分析
  • 【391天】每日项目总结系列128(2018.03.03)
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • Electron入门介绍
  • git 常用命令
  • Invalidate和postInvalidate的区别
  • js正则,这点儿就够用了
  • opencv python Meanshift 和 Camshift
  • PHP面试之三:MySQL数据库
  • Zsh 开发指南(第十四篇 文件读写)
  • 和 || 运算
  • 聚类分析——Kmeans
  • 思否第一天
  • 思维导图—你不知道的JavaScript中卷
  • 移动端解决方案学习记录
  • 7行Python代码的人脸识别
  • ​​​​​​​STM32通过SPI硬件读写W25Q64
  • ​2020 年大前端技术趋势解读
  • ​油烟净化器电源安全,保障健康餐饮生活
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #《AI中文版》V3 第 1 章 概述
  • #includecmath
  • #在 README.md 中生成项目目录结构
  • (二)学习JVM —— 垃圾回收机制
  • (十三)Maven插件解析运行机制
  • (五)MySQL的备份及恢复
  • (学习日记)2024.01.09
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • ****三次握手和四次挥手
  • ***测试-HTTP方法
  • .NET Framework与.NET Framework SDK有什么不同?
  • .Net6 Api Swagger配置
  • .Net下C#针对Excel开发控件汇总(ClosedXML,EPPlus,NPOI)
  • .set 数据导入matlab,设置变量导入选项 - MATLAB setvaropts - MathWorks 中国
  • [ 转载 ] SharePoint 资料
  • [AIGC codze] Kafka 的 rebalance 机制
  • [Android] Upload package to device fails #2720
  • [asp.net core]project.json(2)
  • [BT]小迪安全2023学习笔记(第15天:PHP开发-登录验证)
  • [bzoj1912]异象石(set)
  • [C++]模板与STL简介