Kafka 通过对消费方进行分组管理来支持消息一写多读。
我画的图:工具(processon在线画图)

这个 Topic 分为 4 个 Partition,就是图中的 P1到 P4,上部的生产方根据规则选择一个 Partition 进行写入,默认规则是轮询策略。也可以由生产方指定 Partition 或者指定 key 来根据 Hash 值选择 Partition。

消息的发送有三种方式:同步、异步以及 oneway。

  • 同步模式下后台线程中发送消息时同步获取结果,这也是默认模式。
  • 异步的模式允许生产者批量发送数据,可以极大的提高性能,但是会增加丢失数据的风险。
  • oneway 模式只发送消息不需要返回发送结果,消息可靠性最低,但是低延迟、高吞吐,适用于对可靠性要求不高的场景。

来看消息的消费,Consumer 按照 Group 来消费消息,Topic 中的每一条消息可以被多个 Consumer Group 消费,如上图中的 GroupA 和 GroupB。

Kafka 确保每个 Partition 在一个 Group 中只能由一个 Consumer 消费。

Kafka 通过 Group Coordinator 来管理 Consumer 实际负责消费哪个 Partition,默认支持 Range 和轮询分配。

Kafka 在 ZK 中保存了每个 Topic 中每个 Partition 在不同 Group 的消费偏移量 offset,通过更新偏移量保证每条消息都被消费。

注意:用多线程来读取消息时,一个线程相当于一个 Consumer 实例。当 Consumer 的数量大于分区的数量的时候,有的Consumer 线程会读取不到数据。

【Kafka】二.Kafka消息发布/消费流程相关推荐

  1. 通关kafka之Kafka面试题

    kafka kafka说说它的特性,客户端offset宕机后,同一个topic客户端能不能接上它消费? 不能,只能客户端本地记录offset. kafka 各个模块概念 kafka 高水位(不会) 1 ...

  2. kafka 主动消费_SpringBoot2 整合Kafka组件,应用案例和流程详解

    本文源码:Git || Gitee 一.搭建Kafka环境 1.下载解压 -- 下载wget http://mirror.bit.edu.cn/apache/kafka/2.2.0/kafka_2.1 ...

  3. kafka消费并导出_如何使用Docker内的Kafka服务?消息服务测试实践篇

    背景及系统简介: Kafka是一种高吞吐量的分布式架构的发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据.通常由于高吞吐量的要求而选择通过处理日志数据和日志聚合来解决. 本文涉及的分布式系统 ...

  4. KAFKA SpringBoot2 Nacos 消息异步发送和消费消息(进阶篇)

    文章目录 一.基础集成 1. 技术选型 2. 导入依赖 3. kafka配置 4. auto-offset-reset 简述 5. 新增一个订单类 6. 生产者(异步) 7. 消费者 8. kafka ...

  5. kafka 脚本发送_Kafka笔记归纳(第五部分:一致性保证,消息重复消费场景及解决方式)...

    写在开头: 本章是Kafka学习归纳第五部分,着重于强调Kafka的事一致性保证,消息重复消费场景及解决方式,记录偏移量的主题,延时队列的知识点. 文章内容输出来源:拉勾教育大数据高薪训练营. 一致性 ...

  6. graylog+kafka+zookeeper(单机测试及源码),graylog收集kafka(脚本创建发布订阅方式)存储的消息(四)

    graylog+kafka+zookeeper(单机测试及源码),graylog收集kafka(脚本创建发布订阅方式)存储的消息(四) 问题背景 graylog+kafka+zookeeper(单机测 ...

  7. 【win10安装Kafka发消息及消费】

    一.安装zookeepe的方式 1.zookeeper安装(Kafka2.8.0后不需要安装ZK) 下载安装文件:Index of /dist/zookeeper/zookeeper-3.4.10 I ...

  8. 一次关于Kafka消息不消费的记录

    首先,说明一下情况,开发环境可以正常消费消息的,到了测试环境,刚开始一两天还能正常消费消息,但是某一天突然,消费不到消息,日志再没打印收到消息的情况. 一.下载OffsetExplorer2工具 官网 ...

  9. 消息系统kafka之二 kafka的HA(高可用)

    在前面的<消息系统kafka之一 系统简介>的为什么选择kafka中已经提到了kafka高可用的特性. 下面是kafka与其他消息系统之间的区别 可以看出,kafka支持持久化消息,消息回 ...

最新文章

  1. 一个6年的菜鸟,在4年之前做的一些功能(二)
  2. 定义一个圆类java用echo_正则表达式中圆括号的作用
  3. 小学生python-如何看待小学生开始学Python?
  4. 关于python2到python3更新的一些书写规则的更改
  5. VMware14.1 Ubuntu16.04安装教程
  6. 文件上传------c#
  7. turbo编译码c语言,Turbo码的编译码基本原理和常用编译码算法分析及仿真程序
  8. iOS-调用系统的短信和发送邮件功能,实现短信分享邮件分享
  9. CentOS7 安装aria2
  10. Ins图片爬取(基于python,selenium)
  11. web前端大作业:诗人文化网页主题网站【唐代诗人】纯HTML+CSS制作
  12. 互联网老辛2022年3月上旬社群精华
  13. WORD脚注引用添加
  14. 玩转华为ENSP模拟器系列 | 配置L3VdPdNd迭代SR-BE隧道示例
  15. 牧月科技完成近5000万元天使轮融资,为无人驾驶货运物流提供解决方案
  16. python解非线性规划问题_Python+Gurobi+Pulp解决线性规划问题
  17. miui11开发版升级Android10,小米9透明版MIUI11开发版系统刷机包(最新固件系统升级包MIUI11.9.12.31开发版安卓10)...
  18. 武汉科技大学计算机复试机试,2019年武汉科技大学考研复试及录取工作方案
  19. 2020.10.21--PS--梦幻柔焦、中途曝光、制作素描照片
  20. PX4 Autopilot源码分析 - 总体架构

热门文章

  1. ubuntu18.04安装、使用、远程访问mariadb
  2. OpenCV-Python] OpenCV 中摄像机标定和 3D 重构 部分 VII
  3. SLAM/VIO学习总结
  4. win无线网卡怎么进入监听模式_建议收藏(笔记本搜不到无线网的教程)
  5. {Windows XP}自动重启问题
  6. BigPipe和微前端
  7. Skype for Business 2015新功能之Web会议安排
  8. HTML给网站加上悬浮音乐播放器-毅世纪资源
  9. Unity - 对PureMVC的理解和应用
  10. iview 实现在theme主题中添加某一个新模块的主题颜色切换