首页 > 其他分享 >kafka消息积压处理办法

kafka消息积压处理办法

时间:2024-07-03 16:43:00浏览次数:17  
标签:消费 积压 消费者 处理 kafka 消息

首先分析一下它为什么会积压,无非是以下几种情况,写个思路

代码中消费者处理消费效率低、kafka参数使用默认、消费者消费能力不足(生产者生产能力过盛)、网络带宽、服务器性能等

1、代码质量问题(消费者处理逻辑复杂等)

这个问题运维并不好直接验证,处理消费的速度慢,或者说处理的流程相对复杂都会导致消息积压,看开发同学怎么想,数据只要不过期,服务器不崩,没啥问题,反正就运维盯着点呗

 

2、应用层

在消费者段,可以通过调整消费者组的配置来优化消息的处理,可以增加并行消费的线程数量,调整消费者的批量读取配置等来提高消费的效率等

 

3、kafka层

通过代码调用kafka接口存放消息,所以kafka的配置文件优化也在考虑范围内,比如

max.poll.records:控制每次poll操作能够处理的最大消息数量

fetch.min.bytesfetch.max.bytes:控制消费者一次请求能够拉取的消息数据大小。

min.insync.replicas:确保写入消息时至少有N个副本在线

类似的配置修改,百度一大堆,不举例了

 

如果涉及到扩容kafka的broker数量,想把之前已经积压的消息分给新服务器,涉及到kafka数据迁移,一般没必要,做的多错的多,百度上的方案一般拼拼凑凑也可以用,这里就不写了,我懒

 

4、消费者消费能力不足(生产者生产能力过盛)

生产者这部分我们几乎没有办法改变,因为一般来说,数据都是通过某个前端系统推送过来的,业务流量的增加导致的积压,我们总不能删请求数据,所以以运维的视角来说,这部分我们并没有什么好的办法控制

消费者这部分可以做做文章,比如增加某个topic的副本数量,横向扩容kafka等办法,都可以对其做出一定的优化

 

标签:消费,积压,消费者,处理,kafka,消息
From: https://www.cnblogs.com/zhangty333/p/18282095

相关文章

  • Mojolicious表单提交:优雅处理用户输入的艺术
    Mojolicious表单提交:优雅处理用户输入的艺术在Web开发中,表单是用户与服务器交互的重要方式之一。Mojolicious作为一个高性能的、面向对象的Web框架,提供了一套简洁而强大的工具来处理表单提交。本文将深入探讨如何在Mojolicious中处理表单提交,包括表单创建、数据验证、CSRF......
  • 5% 消耗,6 倍性能:揭秘新一代 iLogtail SPL 日志处理引擎与 Logstash 的 PK
    作者:阿柄引言在当今数据驱动的时代,日志收集和处理工具对于保障系统稳定性和优化运维效率至关重要。随着企业数据量的不断增加和系统架构的日益复杂,传统日志处理工具面临着性能、灵活性和易用性等多方面的挑战。Logstash作为一款广受欢迎的开源日志收集与处理工具,早已广泛应用于......
  • 字符串的处理
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、最简单的回文字符串二、单词倒叙三,单词倒叙二四,单词数五,首字母大写六、公共前缀六、连续相同字符统计七,C语言合法变量名一、最简单的回文字符串如果一个字符串逆序后与正序相同,那么称......
  • Pandas数据处理
    Pandas数据处理1.操作行名和列名(1)设置某一列为行名df.set_index(列名,drop=布尔值)#drop表示是否删除这一列importpandasaspddata=[["0001",'苹果',5,'山东'],["0002",'香蕉',3,'海南'],["0003",'橙子......
  • 【自动化测试数据管理】对于不可重复使用的测试数据(一次性的测试数据),自动化实现过程
    准备不可重复使用的测试数据,其实是一件比较让人头疼的一件事。因为只能使用一次,每次运行之前都要准备新的数据,工作量不可谓不大。而且如果数据本身比较复杂或者稀少,这个数据准备工作就更让人怀疑这些功能用自动化的方式来测试是否有价值。那么对于这种一次性的测试......
  • 03 | 大规模数据处理初体验:怎样实现大型电商热销榜?
    今天要与你分享的主题是“怎样实现大型电商热销榜”。在Google面试过很多优秀的候选人,应对普通的编程问题coding能力很强,算法数据结构也应用得不错。可是当我追问数据规模变大时该怎么设计系统,他们却说不出所以然来。这说明他们缺乏必备的规模增长的技术思维(mindsetofs......
  • 浅谈前置处理器之取样器超时
    浅谈前置处理器之取样器超时取样器取样器超时设置决定了JMeter等待取样器完成并接收响应的最大时间长度。如果在这个时间内未收到响应,取样器将标记该请求为超时错误。参数说明●在取样器超时的配置界面找到“Sampletimeout(inmilliseconds)进行设置。●超时值以毫秒......
  • 浅谈前置处理器之用户参数
    浅谈前置处理器之用户参数“用户参数”前置处理器是一个非常实用的功能,它可以在每个请求执行前动态地为HTTP请求等添加或替换变量值。本文档将详细介绍“用户参数”前置处理器的使用方法、特点以及与用户定义变量的区别。用户参数前置处理器简介用户参数前置处理器允许你......
  • 有手就会的 Java 处理压缩文件
    @目录前言背景第一步:编写代码1.1请求层1.2业务处理层1.3新增配置第二步:解压缩处理2.1引入依赖2.2解压缩工具类总结前言请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i、提示:以下是本篇文章正文内容,下面案例可供参考背景在项目出现上传文件,其中文件包含压缩包,......
  • Pandas数据清洗处理分析
    Pandas是一个开源的Python数据分析库,它提供了快速、灵活且表达力强的数据结构,旨在使数据清洗和分析工作变得更加简单易行。以下是Pandas在数据清洗和分析中常用的一些功能:1.**数据加载**:Pandas可以读取多种格式的数据,包括CSV、Excel、SQL数据库、JSON等。2.**数据框(DataF......