[发明专利]一种MQ负载均衡方法、装置、设备及存储介质在审
申请号: | 202110010909.5 | 申请日: | 2021-01-06 |
公开(公告)号: | CN112346892A | 公开(公告)日: | 2021-02-09 |
发明(设计)人: | 白志新 | 申请(专利权)人: | 全时云商务服务股份有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/50;G06Q10/10 |
代理公司: | 北京惟盛达知识产权代理事务所(普通合伙) 11855 | 代理人: | 董鸿柏 |
地址: | 100102 北京市东城区青*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 mq 负载 均衡 方法 装置 设备 存储 介质 | ||
本发明提供一种MQ负载均衡方法、装置、设备及存储介质,属于通信技术领域。该方法包括:根据业务需要建立消息队列,所述消息队列包括同一会议的消息;根据业务服务器的数量和多个所述消息队列构成的集合的大小进行负载均衡,将所述消息队列存储于所述业务服务器中。本发明提供的方法,根据业务需要建立消息队列,以保障消息的有序性,所设置的负载均衡算法,能充分保障业务服务器的可用性。
技术领域
本发明涉及通信技术领域,具体涉及一种MQ负载均衡方法、装置、设备及存储介质。
背景技术
云会议平台是一个分布式软件系统,使用系统中的各个业务组件向客户提供业务服务,如音频服务器,视频服务器等,各个服务组件主要通过消息引擎(RocketMQ)进行消息通讯。目前,通过在rocketMQ 的设置一个前端代理(mq-proxy),用于将云会议系统中的c/c++服务接入消息引擎系统。但存在以下缺陷:多个业务服务器作为消息消费者实例通过代理服务器接入消息引擎时,消息的负载均衡效果不佳,不能保证业务服务器的可用性、并发性能、及消息在业务范围内的有序性。
发明内容
针对上述技术问题,本发明提供了一种MQ(消息队列)负载均衡方法、装置、设备及存储介质,以提高负载均衡的效果,实现业务服务器的可用性,以及消息在业务范围内的有序性。
为了实现上述目的,本发明提供了一种MQ负载均衡方法,包括:
根据业务需要建立消息队列,所述消息队列包括同一会议的消息;
根据业务服务器的数量和所述消息队列的集合大小进行负载均衡,将所述消息队列存储于所述业务服务器中。
进一步地,所述负载均衡的方式包括:
比较所述业务服务器的数量和所述消息队列的集合大小:
其中,多个消息队列构成消息队列的集合;
若相等,则为每一个所述消息队列分配一个所述业务服务器;
若大于,则为每一个所述消息队列分配一个所述业务服务器,其余的所述业务服务器空闲。
进一步地,所述负载均衡的方式还包括:
若所述业务服务器的数量小于所述消息队列的集合大小,则判断所述业务服务器的数量能否被所述消息队列的集合大小整除,能整除的情况下,平均分配;不能整除的情况下,至少有一个所述业务服务器多分配一个所述消息队列,其余平均分配。
进一步地,所述根据业务需要建立消息队列,其中,每个业务建立至少一个消息队列,所述消息队列的个数按需配置。
进一步地,所述方法还包括:根据使用消息所属会议的会议ID与消息队列集合中元素的个数取模运算,将消息分配至消息队列中,用于实现将属于同一会议ID的消息分配至同一消息队列中。
进一步地,还包括:重新负载平衡机制,所述重新负载平衡机制用于按照负载均衡算法重新给所述业务服务器分配所述消息队列。
进一步地,所述重新负载平衡机制的条件包括:
前端代理模块与新的业务服务器建立长链接;
还包括:
前端代理模块发现任一已链接的所述业务服务器失效。
本发明还提供了一种MQ负载均衡装置,用于实现上述方法,所述装置包括:
前端代理模块,用于根据业务需要建立消息队列,所述消息队列包括同一会议的消息;
业务服务器模块,用于存储所述消息队列;
所述前端代理模块还用于根据业务服务器的数量和所述消息队列的集合的大小进行负载均衡;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于全时云商务服务股份有限公司,未经全时云商务服务股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110010909.5/2.html,转载请声明来源钻瓜专利网。