[发明专利]RabbitMQ集群故障的检测恢复系统及方法在审

专利信息
申请号: 201910593885.3 申请日: 2019-07-03
公开(公告)号: CN110290012A 公开(公告)日: 2019-09-27
发明(设计)人: 宋伟;蔡卫卫;谢涛涛;赖振 申请(专利权)人: 浪潮云信息技术有限公司
主分类号: H04L12/24 分类号: H04L12/24;H04L29/08
代理公司: 济南信达专利事务所有限公司 37100 代理人: 孙园园
地址: 250100 山东省济南市高*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 检测分析 集群 恢复系统 集群状态 健康数据 元数据 队列 故障分析处理 恢复检测模块 数据存储模块 异常检测模块 监控服务端 可用性 采集模块 告警信息 故障处理 结构信息 结果生成 快速恢复 不一致 云计算 检测 采集 验证
【说明书】:

发明公开了一种RabbitMQ集群故障的检测恢复系统及方法,属于云计算领域,要解决的技术问题为如何对RabbitMQ集群状态正常但集群队列元数据不一致故障情况的判断及快速恢复;其结构信息采集模块、异常检测模块、监控服务端、故障分析处理模块、恢复检测模块和数据存储模块。方法包括:采集健康数据;对健康数据进行检测分析,并对RabbitMQ集群状态和队列元数据的一致性进行检测分析,得到检测分析结果;在检测分析结果存在异常时产生告警信息;根据检测分析结果生成对RabbitMQ节点的处理结果;在故障处理完毕后,对RabbitMQ集群的可用性进行验证。

技术领域

本发明涉及云计算领域,具体地说是一种RabbitMQ集群故障的检测恢复系统及方法。

背景技术

AMQP(高级消息队列协议)的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。RabbitMQ是AMQP的消息中间件的一种开源实现,主要用于在分布式系统中存储转发消息。RabbitMQ服务器端用Erlang语言编写,支持多种客户端,如Java,Python,C等。

RabbitMQ提供的集群模式分为:普通集群模式、镜像集群模式。

普通集群模式是默认的集群模式,以下以三个节点(rabbit01、rabbit02、rabbit03)为例来进行说明:对于Queue来说,消息实体只存在于其中一个节点rabbit01(或者rabbit02,或者rabbit03),rabbit01和rabbit02、03节点仅有相同的元数据,即队列的结构;当消息进入rabbit01节点的Queue后,consumer从rabbit02节点消费时,RabbitMQ会临时在rabbit01、rabbit02间进行消息传输,把A中的消息实体取出并经过B发送给consumer。所以consumer应尽量连接每一个节点,从中取消息。即对于同一个逻辑队列,要在多个节点建立物理Queue;否则无论consumer连rabbit01或rabbit02,出口总在rabbit01,会产生瓶颈;当rabbit01节点故障后,rabbit02节点无法取到rabbit01节点中还未消费的消息实体;如果做了消息持久化,那么得等rabbit01节点恢复,然后才可被消费;如果没有持久化的话,就会产生消息丢失的现象。

镜像集群模式:在镜像集群模式下queue中的消息每个节点都会存在一份copy,这个在单个节点失效的情况下,整个集群仍旧可以提供服务(但在实际的环境中发现,即时集群状态正常但集群元数据不一致也无法正常提供服务)。但是由于数据需要在多个节点复制,在增加可用性的同时,系统的吞吐量会有所下降。在实现机制上,mirror queue内部实现了一套选举算法,有一个master和多个slave,queue中的消息以master为主,对于publish,可以选择任意一个节点进行连接,RabbitMQ内部若该节点不是master,转发给master,master向其他slave节点发送该消息,后进行消息本地化处理,并组播复制消息到其他节点存储,对于consumer,可以选择任意一个节点进行连接,消费的请求会转发给master,为保证消息的可靠性,consumer需要进行ack确认,master收到ack后,才会删除消息,ack消息会同步(默认异步)到其他各个节点,进行slave节点删除消息。若master节点失效,则mirror queue会自动选举出一个节点(slave中消息队列最长者)作为master,作为消息消费的基准参考;在这种情况下可能存在ack消息未同步到所有节点的情况(默认异步),若slave节点失效,mirror queue集群中其他节点的状态无需改变。

Mnesia是一个分布式数据库模块,可以自动在多个erlang节点间同步数据库。RabbitMQ服务借助Mnesia数据库存储队列(包括queue属性信息)、消息、vhost、user、exchange(包括exchange属性信息)等信息。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术有限公司,未经浪潮云信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201910593885.3/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top