[发明专利]实现消息队列重连的方法、装置、存储介质及设备在审
申请号: | 201910058444.3 | 申请日: | 2019-01-22 |
公开(公告)号: | CN109815056A | 公开(公告)日: | 2019-05-28 |
发明(设计)人: | 杨煜豪;王沅召;赵慧子 | 申请(专利权)人: | 珠海格力电器股份有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14 |
代理公司: | 天津三元专利商标代理有限责任公司 12203 | 代理人: | 高凤荣 |
地址: | 519070*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 消息队列 监听 重连 存储介质 协程 预设 连接建立程序 消息通讯机制 连接建立 连接失效 连接中断 连接状态 业务处理 重新建立 自动恢复 主服务 状态时 调用 中断 成功 服务 | ||
本发明提供了一种实现消息队列重连的方法、装置、存储介质及设备,所述方法包括:在RabbitMQ连接建立成功后,执行预设的监听协程,以监听所述RabbitMQ连接的连接状态;当监听到所述RabbitMQ连接处于连接失效状态时,通过所述监听协程调用预设的连接建立程序,以重新建立所述RabbitMQ连接。本发明提供的实现消息队列重连的方式,使主服务与RabbitMQ服务之间维持正常RabbitMQ连接,当RabbitMQ连接出现中断或假死时实现连接的自动恢复,避免因连接中断或假死导致消息通讯机制不健全,影响业务处理。
技术领域
本发明涉及计算机技术领域,尤其涉及一种实现消息队列重连的方法、装置、存储介质及设备。
背景技术
目前微服务的发展日益突出,随之兴起的消息队列的应用愈发普及。rabbitMQ是一款基于AMQP协议的消息中间件,它能够在应用之间提供可靠的消息传输。在易用性,扩展性,高可用性上表现优秀,应用广泛。但是,在主业务服务中如果直接应用RabbitMQ消息队列会由于网络不稳定等多方面原因,出现主业务服务与RabbitMQ服务连接中断,造成假死的现象,甚至导致服务崩溃。
可见,针对RabbitMQ连接中断或假死之后,如何实现消息队列连接的自动恢复具有重要意义。
发明内容
鉴于上述问题,本发明提出了一种实现消息队列重连的方法、装置、存储介质及设备,能够在RabbitMQ连接出现中断或假死时实现连接的自动恢复,避免因连接中断或假死导致消息通讯机制不健全,影响业务处理。
本发明的一个方面,提供了一种实现消息队列重连的方法,所述方法包括:
在RabbitMQ连接建立成功后,执行预设的监听协程,以监听所述RabbitMQ连接的连接状态;
当监听到所述RabbitMQ连接处于连接失效状态时,通过所述监听协程调用预设的连接建立程序,以重新建立所述RabbitMQ连接。
可选地,所述执行预设的监听协程,以监听所述RabbitMQ连接的连接状态,包括:
执行所述监听协程,监测底层通道中是否存在连接失效标识,所述连接失效标识由主业务出现连接失效时写入所述底层通道;
当所述监听协程监测到所述连接失效标识时,判定当前RabbitMQ连接处于连接失效状态。
可选地,所述所述方法还包括:
预先创建所述监听协程,所述监听协程用于独立于当前主业务运行。
可选地,所述通过所述监听协程调用预设的连接建立程序,以重新建立所述RabbitMQ连接,包括:
通过所述监听协程调用预设的连接建立程序建立RabbitMQ连接;
若连接建立失败,则启动预设定时器,并在到达预设定时周期时重新建立所述RabbitMQ连接。
本发明的另一个方面,提供了一种实现消息队列重连的装置,包括:
监听模块,用于在RabbitMQ连接建立成功后,执行预设的监听协程,以监听所述RabbitMQ连接的连接状态;
连接模块,用于当监听到所述RabbitMQ连接处于连接失效状态时,通过所述监听协程调用预设的连接建立程序,以重新建立所述RabbitMQ连接。
可选地,所述监听模块,具体用于执行所述监听协程,监测底层通道中是否存在连接失效标识,所述连接失效标识由主业务出现连接失效时写入所述底层通道;当所述监听协程监测到所述连接失效标识时,判定当前RabbitMQ连接处于连接失效状态。
可选地,所述装置还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海格力电器股份有限公司,未经珠海格力电器股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910058444.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:卫星程序管理系统和卫星程序管理方法
- 下一篇:一种数据备份方法及移动终端