前言

在上一篇,我们谈到了从生产者一端,kafka是基于何种策略,将消息推送到集群下topic的不同分区中,可以使用kafka自带的分区策略,也可以根据自身的业务定制消息推送的分区策略

而从消费者一端来看,consumer连接到kafka集群之后,是基于什么样的分区策略进行消息消费的呢?

kafka消息消费原理


如上图所示,kafka的设计架构让它从开始就为分布式而生,上图是一个简单的消息消费示意图,我们知道,一个topic下可以设置多个分区,每隔分区又可以设置多个副本

消费者从topic拉取消息的时候,实际上就是从topic下的各个分区获取消息,在实际应用中,为提升和最大化发挥kafka的吞吐量和整体性能,在设计消费端的程序时,往往通过设置消费者组,通过消费者组中的多个消费者共同去消费分区中的数据

这样做的好处很明显,提升了整体消费的效率,由于kafka往往应用在数据量非常大的场景中,单个消费者肯定很难支撑kafka每秒上万的消息投递量,通过设置消费者组就可以达到高速消费的目的,最大化利用服务器性能

在程序中我们可以看到如下的配置:

kafka消费者分区消费策略相关推荐

  1. 【kafka】Kafka消费者分区分配策略详解

    文章目录 1.概述 2.RoundRobinAssignor详解 3.RangeAssignor详解 4.StickyAssignor详解 5.CooperativeStickyAssignor详解 ...

  2. kafka 消费者的消费策略以及再平衡

    一 kafka的消费策略 1 .一个 consumer group 中有多个 consumer 组成,一个 topic 有多个 partition 组成,现在的问题是, 到底由哪个 consumer ...

  3. Kafka系列 - 14 Kafka消费者|分区的分配策略及再平衡|Range|RoundRobin|Sticky|CooperativeSticky

    文章目录 1. 分区的分配以及再平衡 2. Range 分区分配以及再平衡 3. RoundRobin 分区分配以及再平衡 4. Sticky 分区分配以及再平衡 1. 分区的分配以及再平衡 一个co ...

  4. 聊聊Kafka(三)Kafka消费者与消费组

    Kafka消费者与消费组 简介 消费者 概念入门 消费者.消费组 心跳机制 消息接收 必要参数配置 订阅 反序列化 位移提交 消费者位移管理 再均衡 避免重平衡 消费者拦截器 消费组管理 什么是消费者 ...

  5. Kafka学习(十)--Kafka消费者Consumer消费消息配置实战

    一. Kafka消费者Consumer消费消息配置实战 配置: public static Properties getProperties() {Properties props = new Pro ...

  6. 【kafka】kafka 指定分区消费 不会触发 reblance

    文章目录 1.概述 2.验证 2.1 2个都是subscribeTopic 2.2 指定消费与全部消费 2.3 两个指定消费 2.4 2个都消费同样的分区呢? 1.概述 今天在博客:Kafka-消费, ...

  7. kafka消费者分区的分配的三种机制

    1.RangeAssignor RangeAssignor策略的原理是按照消费者总数和分区总数进行整除运算来获得一个跨度,然后将分区按照跨度进行平均分配,以保证分区尽可能均匀地分配给所有的消费者.对于 ...

  8. Kafka消费者与消费组

    消费者(Consumer)负责订阅Kafka中的主题(Topic),并且从订阅的主题上拉取消息.与其它一些消息中间件不同的是:在Kafka的消费理念中还有一层消费组(Consumer Group)的概 ...

  9. 怎么理解 Kafka 消费者与消费组之间的关系?

    与生产者对应的是消费者,应用程序可以通过 KafkaConsumer 来订阅主题,并从订阅的主题中拉取消息.不过在使用 KafkaConsumer 消费消息之前需要先了解消费者和消费组的概念,否则无法 ...

最新文章

  1. 安装nginx0.7x+php5.2.8(Fastcgi)小结
  2. ViewPager之引导界面---实现欢迎引导页面
  3. sql添加删除主键、外键
  4. 最小生成树(普里姆算法【Prim】与克鲁斯卡尔算法【Kruskal】)
  5. 关于 vim 的 magic 设置
  6. react 消息订阅-发布机制(解决兄弟组件通信问题)
  7. 2G的完整形式是什么?
  8. java final 初始化_[转]java static final 初始化
  9. 基于vue单页应用的例子
  10. 2018.4.3 做lab0
  11. TCP/IP FTP/TFTP
  12. AlphaGo Zero:从头开始学习
  13. 佳能打印机扫描文件到电脑显示设置计算机,电脑教程:佳能打印机怎么扫描文件到电脑...
  14. ios 设备获取idfa_通过Safari浏览器获取iOS设备UDID(设备唯一标识符)
  15. 清华梦的粉碎—写给清华大学的退学申请(by王垠)
  16. 德莱联盟(判断两个线段是否相交)
  17. 什么是思维模型?什么是原则?
  18. AUTOCAD——减少样条曲线控制点数、CAD进阶练习(三)
  19. Mysql数据库安装使用教程05:mysql启动停止服务+数据库及表的相关基础操作
  20. hdu3491 最小点割集(无向图求最小点割集通用方法)

热门文章

  1. ionic 旅途-- 一起来填坑
  2. position:sticky布局
  3. InstallShield 2008 终止声明 (EOL)对最终客户意味着什么
  4. LR运行9415商品拒绝问题
  5. 理解 CI 和 CD 之间的区别(翻译)
  6. css的工作原理及使用规则
  7. Apache Kafka – KIP 32,33 Time Index
  8. window 2003 实现多用户远程登录
  9. Android中FTP服务器、客户端搭建以及SwiFTP、ftp4j介绍
  10. Yii防注入***笔记