当前位置: 首页 > news >正文

RocketMQ-记一次生产者发送消息存在超时异常

目录

1、背景说明

2、排查

2.1、防火墙

2.2、超时时间设置

2.3、服务器资源检查

2.3.1、内存、CPU等

2.3.2、磁盘空间

​编辑

2.3.3、检查文件描述符

2.3.4、swap区

3、增加swap空间

3.1、创建目录

3.2、格式化

3.3、启动swap

3.4、查看效果


1、背景说明

在一次服务日志检查中,发现RocketMQ生产者,在向MQ发送消息时出现向服务端发现消息超时错误:org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeout

Exception in thread "main" org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeoutat org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendDefaultImpl(DefaultMQProducerImpl.java:640)at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.send(DefaultMQProducerImpl.java:1310)at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.send(DefaultMQProducerImpl.java:1256)at org.apache.rocketmq.client.producer.DefaultMQProducer.send(DefaultMQProducer.java:339)

2、排查

2.1、防火墙

如果是不同服务器之间、或者外网环境,检查防火墙设置

# 关闭防火墙
[root@localhost ~]# systemctl stop firewalld
# 查看防火墙状态
[root@localhost ~]# systemctl status firewalld

ubuntu操作系统使用 

# 检查 
(base) root@pd-2288H-V5:# service ufw status
● ufw.service - Uncomplicated firewallLoaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: enabled)Active: active (exited) since Tue 2024-06-11 17:06:23 CST; 1 weeks 2 days agoDocs: man:ufw(8)Process: 938 ExecStart=/lib/ufw/ufw-init start quiet (code=exited, status=0/SUCCESS)Main PID: 938 (code=exited, status=0/SUCCESS)Warning: journal has been rotated since unit was started, output may be incomplete.

2.2、超时时间设置

检查客户端初始化producer代码,在创建producer时,已经设置sendMsgTimeout时间。

默认producer.send(msg) 发送的超时时间3000ms

客户端与MQ都属于相同局域网,不存在网络阻塞,因此再增大超时时间并不合理

2.3、服务器资源检查

RemotingTooMuchRequestException问题出现时,MQ的并发并不大。

2.3.1、内存、CPU等

使用 top 命令

2.3.2、磁盘空间

MQ写入磁盘空间不足,也会导致消息写入失败

df -h

2.3.3、检查文件描述符

文件描述符是大于等于0的整数,其可以标明每一个被进程所打开的文件和 socket。最前面的三个文件描述符(0,1,2)分别与标准输入(stdin),标准输出(stdout)和标准错误(stderr)对应,后面打开的文件依此类推对应 3、4…… 。

从文件描述符的描述中得知,其是按照每个进程来分配的。于是上面的问题"我最多可以打开多少个文件"就可以进一步细化为下面几个问题

  • 一个进程最多可以打开多少个文件描述符
  • 一个用户最多可以打开多少个文件描述符
  • 一个系统最多可以打开多少个文件描述符
# 数字替换应用的PID
ls /proc/3274080/fd | sort -n | tail -n 1

检查当前最大句柄数

# 查看
ulimit -n
# 修改句柄数
ulimit -n 10240

查看全部

ulimit -a

2.3.4、swap区

在进一步检查中发现swap 可用空间不足

3、增加swap空间

3.1、创建目录

使用dd命令在某个目录(实际使用时换成其他目录,/tmp目录的数据会在重启后丢失)下新建一个2G的文件:

解释:1M是单位,1024是数目,合计1024M就是总大小1G

如果不足,可以重复进行新建 /tmp/swap2 等等

dd if=/dev/zero of=/tmp/swap bs=1M count=2048

3.2、格式化

格式化这个文件为swap格式:(用mkswap命令)

mkswap /tmp/swap

  

3.3、启动swap

启动swap,用swapon命令(就是将新建的swap添加到系统)

swapon /tmp/swap

swapon: /tmp/swap2:不安全的权限 0644,建议使用 0600。

3.4、查看效果

用swapon的-s参数

swapon -s

相关文章:

RocketMQ-记一次生产者发送消息存在超时异常

目录 1、背景说明 2、排查 2.1、防火墙 2.2、超时时间设置 2.3、服务器资源检查 2.3.1、内存、CPU等 2.3.2、磁盘空间 ​编辑 2.3.3、检查文件描述符 2.3.4、swap区 3、增加swap空间 3.1、创建目录 3.2、格式化 3.3、启动swap 3.4、查看效果 1、背景说明 在一次…...

ls命令的参数选项

ls命令的参数的作用 可以指定要查看的文件夹(目录)的内容,如果不指定参数,就查看当前工作目录的内容。ls 命令的选项 常用语法:ls [-a -l -h] [linux路径] -a 选项表示 all ,即列出全部内容,包括…...

网络安全:Web 安全 面试题.(文件上传漏洞)

网络安全:Web 安全 面试题.(文件上传漏洞) 网络安全面试是指在招聘过程中,面试官会针对应聘者的网络安全相关知识和技能进行评估和考察。这种面试通常包括以下几个方面: (1)基础知识:包括网络基础知识、操…...

智源联合多所高校推出首个多任务长视频评测基准MLVU

当前,研究社区亟需全面可靠的长视频理解评估基准,以解决现有视频理解评测基准在视频长度不足、类型和任务单一等方面的局限性。因此,智源联合北邮、北大和浙大等多所高校提出首个多任务长视频理解评测基准MLVU(A Comprehensive Be…...

Linux系统:线程概念 线程控制

Linux系统:线程概念 & 线程控制 线程概念轻量级进程 LWP页表 线程控制POSIX 线程库 - ptherad线程创建pthread_createpthread_self 线程退出pthread_exitpthread_cancelpthread_joinpthread_detach 线程架构线程与地址空间线程与pthread动态库 线程的优缺点 线程…...

LearnOpenGL - Android OpenGL ES 3.0 绘制纹理

系列文章目录 LearnOpenGL 笔记 - 入门 01 OpenGLLearnOpenGL 笔记 - 入门 02 创建窗口LearnOpenGL 笔记 - 入门 03 你好,窗口LearnOpenGL 笔记 - 入门 04 你好,三角形OpenGL - 如何理解 VAO 与 VBO 之间的关系LearnOpenGL - Android OpenGL ES 3.0 绘制…...

山东济南最出名的起名大师颜廷利:二十一世纪哲学的领航者

山东济南最出名的起名大师颜廷利教授:二十一世纪哲学的领航者 在哲学的天空中,颜廷利教授犹如一颗璀璨的星辰,被无数求知者誉为21世纪最杰出的思想家之一。他的理论既深邃又广博,巧妙地将东方的儒家与道家哲学与西方的思辨传统交织…...

Nginx 负载均衡实现上游服务健康检查

Nginx 负载均衡实现上游服务健康检查 Author:Arsen Date:2024/06/20 目录 Nginx 负载均衡实现上游服务健康检查 前言一、Nginx 部署并新增模块二、健康检查配置2.1 准备 nodeJS 应用程序2.2 Nginx 配置负载均衡健康检查 小结 前言 如果你使用云负载均衡…...

小程序使用接口wx.getLocation配置

开通时需详细描述业务,否则可能审核不通过 可能需要绑定腾讯位置服务,新建应该,绑定到小程序 配置 权限声明:在使用wx.getLocation前,需要在app.json的permission字段中声明对用户位置信息的使用权限,并提…...

Protobuf安装配置--附带每一步截图

Protobuf Protobuf(Protocol Buffers)协议是一种由 Google 开发的二进制序列化格式和相关的技术,它用于高效地序列化和反序列化结构化数据,通常用于网络通信、数据存储等场景。 为什么要使用Protobuf Protobuf 在许多领域都得到…...

力扣1019.链表中的下一个更大节点

力扣1019.链表中的下一个更大节点 从左到右 每个数确定下一个更大节点后 弹出栈中存下标 即res.size() class Solution {public:vector<int> nextLargerNodes(ListNode* head) {vector<int> res;stack<int> st;for(auto ihead;i;ii->next){while(!st.e…...

查询mysql库表的几个语句

1、查询某个数据库的所有表 SELECTtable_name FROMinformation_schema.TABLES WHEREtable_schema database_namedatabase_name替换成你需要查询的数据库名称 2、查询某张表的所有字段名称 SELECTCOLUMN_NAME,column_comment FROMinformation_schema.COLUMNS WHEREtable…...

【CT】LeetCode手撕—103. 二叉树的锯齿形层序遍历

目录 题目1- 思路2- 实现⭐103. 二叉树的锯齿形层序遍历——题解思路 2- ACM实现 题目 原题连接&#xff1a;103. 二叉树的锯齿形层序遍历 1- 思路 二叉树的层序遍历&#xff0c;遇到奇数时&#xff0c;利用 Collections.reverse() 翻转即可 2- 实现 ⭐103. 二叉树的锯齿形层…...

1958springboot VUE宿舍管理系统开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 springboot VUE宿舍管理系统是一套完善的完整信息管理类型系统&#xff0c;结合springboot框架和VUE完成本系统&#xff0c;对理解JSP java编程开发语言有帮助系统采用springboot框架&#xff08;MVC模式开发&#xff09; &#xff0c;系统具有完整的源代码和数…...

LVS DR模式

Linux Virtual Server&#xff08;LVS&#xff09;是一个由Linux内核支持的负载均衡解决方案&#xff0c;旨在通过集群技术来提高服务器的可扩展性、可靠性和高可用性。LVS通过将客户端的请求分发到多个服务器上&#xff0c;从而实现负载均衡和容错。 目录 LVS的工作模式 DR模…...

myslql事务示例

在 MySQL 中&#xff0c;事务&#xff08;Transaction&#xff09;是一组要么全部执行&#xff0c;要么全部不执行的SQL语句。这可以确保数据的一致性和完整性。事务管理的核心包括四个属性&#xff0c;即原子性&#xff08;Atomicity&#xff09;、一致性&#xff08;Consiste…...

解决Flutter应用程序的兼容性问题

哈喽呀&#xff0c;大家好呀&#xff0c;淼淼又来和大家见面啦&#xff0c;Flutter作为一个跨平台的移动应用开发框架&#xff0c;极大地简化了开发者同时在Android和iOS平台上构建应用的难度。然而&#xff0c;由于不同设备、操作系统版本以及Flutter框架本身的变化&#xff0…...

整合微信支付一篇就够了

需要的工具 微信开发小程序工具 需要的材料 关键步骤 postman获取微信access_token https://api.weixin.qq.com/cgi-bin/token?appid=wxfssafa629021&grant_type=client_credential&secret=701d213dsfsdfsfdss4fb274生成h5跳转小程序的链接 https://api.weixin.…...

视创云展为企业虚拟展厅搭建,提供哪些功能?

在当下数字化浪潮中&#xff0c;如何为用户创造更富生动性和真实感的展示体验&#xff0c;已成为企业营销策略的核心。借助视创云展的线上虚拟3D企业展厅搭建服务&#xff0c;利用3D空间漫游和VR技术的融合&#xff0c;可以为用户呈现出一个既真实又充满想象力的全景图或三维模…...

c++ 常用的锁及用法介绍和示例

2024/6/21 14:20:10 在 C++ 中,常用的锁主要包括以下几种:std::mutex、std::recursive_mutex、std::timed_mutex 和 std::shared_mutex。这些锁可以帮助我们在多线程编程中保护共享数据,避免竞争条件。以下是每种锁的介绍及其用法示例: std::mutex std::mutex 是最基本的互…...

PostgreSQL源码分析——口令认证

认证机制 对于数据库系统来说&#xff0c;其作为服务端&#xff0c;接受来自客户端的请求。对此&#xff0c;必须有对客户端的认证机制&#xff0c;只有通过身份认证的客户端才可以访问数据库资源&#xff0c;防止非法用户连接数据库。PostgreSQL支持认证方法有很多&#xff1…...

Stability-AI(图片生成视频)

1.项目地址 GitHub - Stability-AI/generative-models: Generative Models by Stability AI 2.模型地址 魔搭社区 3.克隆项目后&#xff0c;按照教程安装 conda create --name Stability python3.10 conda activate Stability pip3 install -r requirements/pt2.txt py…...

Linux机器通过Docker-Compose安装Jenkins发送Allure报告

目录 一、安装Docker 二、安装Docker Compose 三、准备测试用例 四、配置docker-compose.yml 五、启动Jenkins 六、配置Jenkins和Allure插件 七、创建含pytest的Jenkins任务 八、项目结果通知 1.通过企业微信通知 2.通过邮件通知 九、配置域名DNS解析 最近小编接到一…...

基于Gunicorn+Flask+Docker模型高并发部署

关于猫头虎 大家好&#xff0c;我是猫头虎&#xff0c;别名猫头虎博主&#xff0c;擅长的技术领域包括云原生、前端、后端、运维和AI。我的博客主要分享技术教程、bug解决思路、开发工具教程、前沿科技资讯、产品评测图文、产品使用体验图文、产品优点推广文稿、产品横测对比文…...

java:类型变量(TypeVariable)解析--基于TypeResolver实现将类型变量替换为实际类型

上一篇博客《java:类型变量(TypeVariable)解析–获取泛型类(Generic Class)所有的类型变量(TypeVariable)的实际映射类型》中介绍如何如何正确解析泛型类的类型变量(TypeVariable)&#xff0c;获取对应的实际类型。 有了类型变量(TypeVariable)–实际类型的映射&#xff0c;我们…...

ru俄罗斯域名如何申请SSL证书?

我们日常看到的都是com这种国际域名比较普遍&#xff0c;尤其是主流网站&#xff0c;主要原因考虑的其通用性&#xff0c;那么对于地方性的域名大家很少看到&#xff0c;比如俄罗斯国家域名.ru大家还是有些陌生的&#xff0c;但要说中国.CN域名那你就很熟悉了。 有用户在申请过…...

python实现购物车的功能

模拟购物车&#xff0c;准备一个列表 goodList [{name:笔记本电脑,price:8000}, {name:鼠标, price:100}] 5个函数 1.加入购物车 2.收藏商品 3.去结算 4.删除购物车商品 5.清空购物车 购物车 cartList [] 收藏列表 collectSet {笔记本电脑,鼠标} 数据示例 去结算计算出总价…...

日元预计明年开始上涨

被称为“日元先生”的前大藏省&#xff08;现财务省&#xff09;财务官榊原英资预测&#xff0c;美元兑日元汇率将在今年底或2025年初逐步升至130。他认为&#xff0c;通缩时代已经过去&#xff0c;通货膨胀即将来临。 《日本经济新闻》6月5日报道&#xff0c;日本财务省于5月3…...

8、PHP 实现二进制中1的个数、数值的整数次方

题目&#xff1a; 二进制中1的个数 描述&#xff1a; 输入一个整数&#xff0c;输出该数二进制表示中1的个数。其中负数用补码表示。 <?phpfunction NumberOf1($n) {$count 0;if($n < 0){$n $n & 0x7FFFFFFF;$count;}while($n ! 0){$count;$n $n & ($n - 1…...

linux git凭证管理

linux git 凭证管理 解决命令行git登录github的问题&#xff0c;支持两步验证 同样适用于Azure Devops, Bitbucket 官网&#xff1a; https://github.com/git-ecosystem/git-credential-manager https://github.com/git-ecosystem/git-credential-manager/blob/release/docs/…...

遵义市 网站建设/电商怎么做推广

Jan. January Feb. February Mar. March Apr. April May. May Jun. June Jul. July Aug. August Sep. September Oct. October Nov. November Dec. December转载于:https://www.cnblogs.com/kakaisgood/p/11096105.html...

微信小程序可以做音乐网站吗/当下最流行的营销方式

从昨天开始就在刷手机&#xff0c;换了各种rom&#xff0c;今天中午总算刷了一个还算不错的rom&#xff0c;用了不到半天&#xff0c;晚上突发奇想修改了以下/system/build.prop文件&#xff0c;哪知手机重启后再也进不了系统&#xff0c;真是悲剧。不想再刷了&#xff0c;于是…...

做网站找哪家好熊掌号/2022最火营销方案

DSpace 1.5版本对统计功能做了比较多的更新。 配置好config目录下的dstat.dat文件 # the year and month to start creating reports from # - year as four digits (e.g. 2005) 开始统计的年份 # - month as a number (e.g. January is 1, December is 12)开始统计的月份 st…...

如何查看小程序的开发公司/seoul什么意思

2019独角兽企业重金招聘Python工程师标准>>> 教程目录 Git教程首页 Git 基本概念 Git 环境设置&#xff08;安装&#xff09; Git 生命周期 Git 创建操作 Git 克隆操作 Git 执行更改 Git 审查更改 Git 提交更改 Git 推送操作 Git 更新操作 Git 藏匿操作…...

五金网站制作/建立网站的基本步骤

点击打开链接...

做景观素材有哪几个网站/什么是网站

2019独角兽企业重金招聘Python工程师标准>>> 1、后台保存session。 public class MySessionContext {private static HashMap mymap new HashMap();public static synchronized void AddSession(HttpSession session) {if (session ! null) {mymap.put(session.ge…...