网站首页 > 精选文章 / 正文
Hello,大家好!由于工作问题,一段时间没有更新文章了,今天跟大家分享一下小编昨天遇到的一个RabbitMQ的问题,大家有更好的建议或者处理方案也欢迎告诉小编。
近期小编负责开发一个会员系统,使用了RabbitMQ下发消息任务拉取汇总基础会员数据信息。然而测试运行一段时间功能正常,相关数据正常,小编也就将相关功能模块提交生产环境上线运行。然而大概运行两三个小时之后,整个RabbitMQ相关功能全部宕机(由于尚未完善异常处理机制,一时间无从下手),暂且只能先重启RabbitMQ服务以恢复正常系统运行(下下策)。
下面是小编使用到的RabbitMQ生产者端代码(C#):
using (var publish = new RabbitMQ.Publisher(RabbitMqConnKey, "bi", "bi.vipers", "bi.vipers.account"))
{
try
{
foreach (var vip in lst)
{
publish.Send<string>(vip.VipNO);
total++;
}
publish.Dispose();
}
catch (Exception)
{
}
finally
{
publish.Dispose();
}
}
恢复之后正常运转两三个小时之后又出现宕机情况,哎,先重启吧!这次小编已确定不是偶发事件,重启之后仔细观察RabbitMQ各项参数指标。果然!生产者每次下发Connections和Socket descriptors就会立即增长,而Socket descriptors最多只能7280,这下明白了!也就是生产者连接没有关闭,系统也来不及回收,最后撑爆系统!生产者下发任务之后加上一行Pubulish.Close(); 搞定!
好了,兄弟们!如果你有更好的设计方案,欢迎联系我!期待下次分享哦!#程序员那些事##C###程序人生#
Tags:rabbitmq修改密码
猜你喜欢
- 2025-05-02 4 种最常见的 HL7 消息类型(常用的消息)
- 2025-05-02 从入门到精通!RabbitMQ 全方位进阶攻略 - 每日一题(1)
- 2025-05-02 RabbitMQ如何保障消息不丢失(mq怎么保证消息不丢失)
- 2025-05-02 HL7消息编辑器的使用手册(hl7消息格式)
- 2025-05-02 RabbitMQ消息丢失怎么办?一文讲透持久化、确认机制与补偿策略
- 2025-05-02 Spring Boot3 开发必备:数据库数据过期提醒深度解析与实现
- 2025-05-02 掌握 Spring Boot3 与 RabbitMQ 整合,后端开发效率飙升
- 2025-05-02 Spring Boot3 连接 RabbitMQ 实现订单流量削峰全攻略
- 2025-05-02 Spring Boot3 整合 RabbitMQ,解决后端消息传递难题
- 2025-05-02 RabbitMQ:消息中间件中的翘楚(消息中间件activemq)