解决软件连接RabbitMQ突发System.IO.IOException: 无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接异常

一、问题描述

系统再运行时,突然出现

System.Exception: RabbitMQ.Send Error RabbitMQ.Client.Exceptions.AlreadyClosedException: Already closed: The AMQP operation was interrupted: AMQP close-reason, initiated by Library, code=541, text="Unexpected Exception", classId=0, methodId=0, cause=System.IO.IOException: 无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接。。 ---> System.Net.Sockets.SocketException: 远程主机强迫关闭了一个现有的连接。

二、问题排除与解决

  1. 排查所有相关系统,发现生产者都再相同时间出现类似报错,其他消费者的系统没有明显异常

  2. 基本锁定问题根源在以下两点:

    a. 网络异常,生产者所在服务器与MQ服务器之间存在偶发性网络异常

    b. MQ服务器异常

  3. 排查MQ Overview,MQ内存、磁盘都是正常,但很快注意到一点,MQ的连接数出奇的高

  4. 排查连接细节,发现大量消费者系统中创建的连接对象

  5. 排查消费者系统,发现代码逻辑问题,创建的消费者连接信息残留未被销毁导致。

相关推荐
此时不提桶,更待何时7 小时前
06-23-A-RabbitMQ生态集成详解
分布式·rabbitmq
m0_6464299713 小时前
RabbitMQ 核心知识总结(生产实战版)
分布式·rabbitmq
DBA_G15 小时前
GBase 8c分布式数据库客户端工具 gsql
数据库·分布式
chunyublog15 小时前
Spark 词频统计练习
大数据·分布式·spark
acrel716 小时前
高速公路分布式光伏并网电能质量与安全保护方案应用
分布式·安全
IT小小猪18 小时前
# Hadoop 3.3.6 完全分布式集群部署知识库
hadoop·分布式·eclipse
此时不提桶,更待何时18 小时前
06-24-B-RabbitMQ面试与生产事故实战
分布式·面试·rabbitmq
来福猿19 小时前
分布式锁 Redis 实现源码分析:SETNX、过期时间与可重入设计
数据库·redis·分布式
此时不提桶,更待何时1 天前
06-17-A-RabbitMQ架构与存储原理详解
rabbitmq
Pniubi1 天前
分布式锁分类讲解
分布式