在实际生产过程中,每个topic都会有多个partitions,多个partitions的好处在于,一方面能够对broker上的数据进行分片有效减少了消息的容量从而提升io性能。另外一方面,为了提高消费端的消费能力,一般会通过多个consumer去消费同一个topic ,也就是消费端的负载均衡机制,也就是我们接下来要了解的,在多个partition以及多个consumer的情况下,消费者是如何消费消息的

同时,在上一节课,我们讲了,kafka存在consumer group的概念,也就是group.id一样的consumer,这些consumer属于一个consumer group,组内的所有消费者协调在一起来消费订阅主题的所有分区。当然每一个分区只能由同一个消费组内的consumer来消费,那么同一个onsumer
group里面的consumer是怎么去分配该消费哪个分区里的数据的呢?如下图所示,3个分区,3个消费者,那么哪个消费者消分哪个分区?

对于上面这个图来说,这3个消费者会分别消费test这个topic 的3个分区,也就是每个consumer消费一个partition。

kafka消息消费原理演示相关推荐

  1. kafka原理_P8架构师带你参透Kafka:设计原理、消息存储、消息消费原理等等

    本文转载自: linkedkeeper.com,作者:张松然 推荐阅读: 一个月面试了3家大厂Java岗,我发现这几个突破点 目录 Kafka的基本介绍 Kafka的设计原理分析 Kafka数据传输的 ...

  2. kafka生产消费原理笔记

    一.什么是kafka Kafka是最初由Linkedin公司开发,是一个分布式.支持分区的(partition).多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性 ...

  3. kafka消息消费有延迟_简易实现kafka延迟消息

    背景 当前业务存在以下场景:在一个事务内的最后一步是发送kafka消息,消费端收到通知后读取数据并做处理.但是由于kafka几乎是即时收到消息,导致偶尔出现"在发完kafka和提交事务的间隙 ...

  4. kafka消息消费有延迟_如何在MQ中实现支持任意延迟的消息?

    什么是定时消息和延迟消息? 定时消息:Producer 将消息发送到 MQ 服务端,但并不期望这条消息立马投递,而是推迟到在当前时间点之后的某一个时间投递到 Consumer 进行消费,该消息即定时消 ...

  5. kafka消息消费有延迟_消息中间件选型分析---从Kafka与RabbitMQ的对比来看全局

    有很多网友留言:公司要做消息中间件选型,该如何选?你觉得哪个比较好?消息选型的确是一个大论题,实则说来话长的事情又如何长话短说.对此笔者专门撰稿一篇内功心法:如何看待消息中间件的选型,不过这篇只表其意 ...

  6. kafka消息消费有延迟_RabbitMQ与Kafka的技术差异以及使用注意点

    导言 作为一个有丰富经验的微服务系统架构师,经常有人问我,"应该选择RabbitMQ还是Kafka?".基于某些原因, 许多开发者会把这两种技术当做等价的来看待.的确,在一些案例场 ...

  7. kafka消息消费有延迟_注意了!Kafka与RabbitMQ千万不要乱用…

    作为一个有丰富经验的微服务系统架构师,经常有人问我,应该选择 RabbitMQ 还是 Kafka? 图片来自 Pexels 基于某些原因, 许多开发者会把这两种技术当做等价的来看待.的确,在一些案例场 ...

  8. 如何查看kafka消息消费进度以及是否有未消费的消息

    查询是否有未消费的消息的方式有三种: 第一种,kafka自带命令 kafka的bin目录下,执行命令: kafka-consumer-groups.sh --bootstrap-server node ...

  9. kafka 消息分发机制、分区和副本机制

    一.消息分发机制 1.1 kafka 消息分发策略 消息是 kafka 中最基本的数据单元,在 kafka 中,一条消息由key.value两部分构成,在发送一条消息 时,我们可以指定这个key,那么 ...

最新文章

  1. python多项式运算_python – 用于计算“多项式系数”的numpy / scipy函数
  2. 机器学习理论导引 线上阅读
  3. Cortex-M3启动深度解析
  4. docker 部署 redis
  5. getsockname和getpeername
  6. thrift数据类型
  7. 软件工程(1)——对书本的温习
  8. 教你怎么在vi和vim上查找字符串
  9. 系统已有MYSQL环境,如何安装宝塔面板
  10. 课程、问题-利用mincemeat编写简单的MapReduce程序-by小雨
  11. 蓝桥杯2018年第九届C/C++省赛B组第三题-乘积尾零
  12. 网页游戏开发入门教程三(简单程序应用)
  13. 2020年阿里巴巴实习生线上笔试试题
  14. 聚焦新能源与汽车科技 全球汽车发展趋势论坛举办
  15. 服从还是被裁?职场人请做好这道生存选择题!
  16. java身高体重源代码_(01-06)编写一个Java应用程序,输出自己的姓名、年龄、身高、籍贯等信息。要求答案中提供源代码及、运行结果的截图 答案:程序运行结果如下...
  17. 和sar比起来,其他Linux命令都是猹---ing
  18. (附源码)python电影院信息管理系统 毕业设计 021844
  19. 美设计出激光动力太空电梯 成功爬升900米
  20. 【tio-core】1、tio-study是学习t-io的第一步

热门文章

  1. Java - 自己动手之在线书店(2)
  2. BZOJ4567 SCOI2016背单词(trie+贪心)
  3. 图解Fiddler如何抓手机APP数据包过滤抓取
  4. 让图片自适应大小的方法
  5. NHibernate 对分组聚合支持的不好
  6. Java提高—对象克隆(复制)/对象属性拷贝
  7. HashMap以及ConcurrentHashMap(volatile)
  8. webpack-plugin-webpack.DefinePlugin-应用全局变量,svn-rep-browser
  9. linux服务器磁盘扩容的方法
  10. Docker介绍与安装使用(一)