Spring-Kafka —— 消费如何达到最高的吞吐量
2024-09-05 09:09:48
首先简单的介绍一下消费者对topic的订阅。客户端的消费者订阅了topic后,如果是单个消费者,那么消费者会顺序消费这些topic分区中的数据,如果是创建了消费组有多个消费者,那么kafak的服务端将这些topic平均分配给每个消费者。比如有2个topic,每个topic有2个分区,总共有4个分区,如果一个消费组开了四个消费者线程,那么每个消费者将被分配一个分区进行消费。一般建议是一个消费组里的消费者的个数与订阅的topic的总分区数相等,这样可以达到最高的吞吐量。如果消费者的个数大于订阅的topic的总分区,那么多出的消费者将分配不到topic的分区,等于是白白创建了一个消费者线程,浪费资源。
- 提高了partition的数量,从而提高了consumer的并行能力,从而提高数据的消费能力
- 对于单partition的消费线程,增加了一个固定长度的阻塞队列和工作线程池进一步提高并行消费的能力
最新文章
- css水平居中那点事
- For each循环中使用remove方法。
- Hadoop快速入门
- web前端开发工程师,你了解吗?
- 微信支付开发-Senparc.Weixin.MP详解
- Windows下tcp参数优化
- CSS控制鼠标形状
- 为什么 Apple 开发者网站关闭是件好事?
- Java数据类型(一)
- hdu 4878 ZCC loves words AC自动机+中国剩余定理+快速幂
- DEDE更改版权信息
- IISExpress实现外部访问
- 判断圆和矩形是否相交C - Rectangle and Circle
- 一种根据URL参数条件动态生成URL的方法
- 理解JavaScript的立即调用函数表达式(IIFE)
- Centos7.0 安装 oracle 11g 以及相关问题解决
- nginx入门之编译安装
- linux强制将数据写入磁盘,防止丢失内存的数据
- HDFS,MapReduce,Hive,Hbase 等之间的关系
- Java12配置