System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种Openstack下RPC请求的流量整形系统及方法技术方案_技高网

一种Openstack下RPC请求的流量整形系统及方法技术方案

技术编号:40353408 阅读:3 留言:0更新日期:2024-02-09 14:38
本发明专利技术公开一种Openstack下RPC请求的流量整形系统及方法,包括数据库文件DB、业务组件Plugin、MQ服务器集群和业务组件的代理组件Agent,MQ服务器集群分别连接业务组件Plugin和各个业务组件的代理组件Agent,业务组件Plugin还连接数据库文件DB,所述MQ服务器集群增加RPC整形装置,RPC整形装置时刻监控MQ服务器集群中各个队列的状态,当发现部分队列即将满时,通知对应的消息生产者暂缓或停止发送消息,本发明专利技术可以时刻监控MQ中各个队列的状态,当发现部分队列较满时,可通知对应的消息生产者暂缓或停止发送消息,防止消息过快发送或消费不及时导致MQ消息积压引起MQ组件异常。

【技术实现步骤摘要】

本专利技术涉及云计算,具体是一种openstack下rpc请求的流量整形系统及方法。


技术介绍

1、openstack是一款开源的云计算管理系统,在云计算领域得到广泛的应用,包括自建私有云、公共云、租赁私有云及公私混合云等。openstack采用分布式架构,各个业务组件可独立部署到集群内的各个服务器上,组件与组件之间通过rpc(远程过程调用)进行通信,每个rpc请求都会经过mq(消息队列)进行分发,当集群规模变大时(300台以上服务器),会出现瞬间rpc请求过高的场景,所有rpc请求都会汇聚到mq服务器,会把mq服务器内存、cpu占满,导致mq异常崩溃,使整个集群瘫痪。

2、现有技术方案如图1所示:

3、1、plugin为各个业务组件,agent为各个业务组件的代理组件,

4、2、plugin与plugin之间、agent与agent之间、plugin与agent之间消息交互都会经过mq,

5、3、集群规模达到一定程度(300台业务服务器)后,mq中的队列数达到40000多,

6、4、当业务服务器维修或故障而批量重启时,mq中的消息会瞬间突增,使得mq服务器内存和cpu被占满,导致mq出现异常。openstack原生解决突发流量的方法是增加mq集群服务器,但是当突发流量结束后,mq集群服务器又会很空闲,导致资源的浪费。


技术实现思路

1、本专利技术的目的在于提供一种openstack下rpc请求的流量整形系统及方法,以解决上述
技术介绍
中提出的当业务服务器维修或故障而批量重启时,mq中的消息会瞬间突增,使得mq服务器内存和cpu被占满,导致mq出现异常。openstack原生解决突发流量的方法是增加mq集群服务器,但是当突发流量结束后,mq集群服务器又会很空闲,导致资源的浪费等问题。

2、为实现上述目的,本专利技术提供如下技术方案:

3、一种openstack下rpc请求的流量整形系统,包括数据库文件db、业务组件plugin、mq服务器集群和业务组件的代理组件agent,mq服务器集群分别连接业务组件plugin和各个业务组件的代理组件agent,业务组件plugin还连接数据库文件db,所述mq服务器集群增加rpc整形装置,rpc整形装置时刻监控mq服务器集群中各个队列的状态,当发现部分队列即将满时,通知对应的消息生产者暂缓或停止发送消息,防止消息过快发送或消费不及时导致mq消息积压引起mq组件异常。

4、作为本专利技术的进一步技术方案:所述rpc整形装置,内部接收25672端口过来的消息,从消息中解析出队列的topic_name并结合mq服务器集群中各个队列中unack消息的大小,设置三个级别的消息放行率,当unack消息占队列总长度的比例分别为小于60%、小于90%、大于90%时,消息放行的比例分别为100%、50%、1%,放行的消息送到mq服务器集群的5672端口。

5、作为本专利技术的进一步技术方案:所述业务组件plugin有多个,代理组件agent有多个。

6、作为本专利技术的进一步技术方案:所述业务组件plugin与业务组件plugin之间、代理组agent与代理组agent之间、业务组件plugin与代理组agent之间消息交互都会经过mq服务器集群。

7、作为本专利技术的进一步技术方案:所述rpc整形装置不增加额外的服务器资源直接与mq服务器集群部署在一起。

8、作为本专利技术的进一步技术方案:所述rpc整形装置不缓存消息,不消耗服务器的内存资源。

9、作为本专利技术的进一步技术方案:所述业务组件plugin及其代理组件agent均不感知rpc整形装置的存在,业务组件plugin不做任何修改。

10、作为本专利技术的进一步技术方案:所述rpc整形装置监听25672端口。

11、作为本专利技术的进一步技术方案:在所述mq服务器集群上增加iptables规则将5672端口的包重定向到25672端口。

12、一种openstack下rpc请求的流量整形方法,采用上述系统,包含以下步骤:

13、步骤1、整形装置监听25672端口;

14、步骤2、在mq服务器上增加iptables规则将5672端口的包重定向到25672端口;

15、步骤3、整形装置内部接收25672端口过来的消息,从消息中解析出队列的topic_name并结合mq服务器集群中各个队列中unack消息的大小,设置三个级别的消息放行率,当unack消息占队列总长度的比例分别为小于60%、小于90%、大于90%时,消息放行的比例分别为100%、50%、1%,放行的消息送到mq服务器集群的5672端口;

16、步骤4、放行的消息则送到mq服务器的5672端口;

17、步骤5、丢弃的消息,业务组件等待重传。

18、与现有技术相比,本专利技术的有益效果是:

19、本专利技术增加rpc流量整形装置,可以时刻监控mq中各个队列的状态,当发现部分队列较满时,可通知对应的消息生产者暂缓或停止发送消息,防止消息过快发送或消费不及时导致mq消息积压引起mq组件异常。

本文档来自技高网...

【技术保护点】

1.一种Openstack下RPC请求的流量整形系统,包括数据库文件DB、业务组件Plugin、MQ服务器集群和业务组件的代理组件Agent,MQ服务器集群分别连接业务组件Plugin和各个业务组件的代理组件Agent,业务组件Plugin还连接数据库文件DB,其特征在于,所述MQ服务器集群增加RPC整形装置,RPC整形装置时刻监控MQ服务器集群中各个队列的状态,当发现部分队列即将满时,通知对应的消息生产者暂缓或停止发送消息。

2.根据权利要求1所述的一种Openstack下RPC请求的流量整形系统,其特征在于:所述RPC整形装置,内部接收25672端口过来的消息,从消息中解析出队列的topic_name并结合MQ服务器集群中各个队列中unack消息的大小,设置三个级别的消息放行率,当unack消息占队列总长度的比例分别为小于60%、小于90%、大于90%时,消息放行的比例分别为100%、50%、1%,放行的消息送到MQ服务器集群的5672端口。

3.根据权利要求1所述的一种Openstack下RPC请求的流量整形系统,其特征在于,所述业务组件Plugin有多个,代理组件Agent有多个。

4.根据权利要求3所述的一种Openstack下RPC请求的流量整形系统,其特征在于,所述业务组件Plugin与业务组件Plugin之间、代理组Agent与代理组Agent之间、业务组件Plugin与代理组Agent之间消息交互都会经过MQ服务器集群。

5.根据权利要求1所述的一种Openstack下RPC请求的流量整形系统,其特征在于,所述RPC整形装置不增加额外的服务器资源直接与MQ服务器集群部署在一起。

6.根据权利要求1所述的一种Openstack下RPC请求的流量整形系统,其特征在于,所述RPC整形装置不缓存消息,不消耗服务器的内存资源。

7.根据权利要求1所述的一种Openstack下RPC请求的流量整形系统,其特征在于,所述业务组件Plugin及其代理组件Agent均不感知RPC整形装置的存在,业务组件Plugin不做任何修改。

8.根据权利要求1所述的一种Openstack下RPC请求的流量整形系统,其特征在于,所述RPC整形装置监听25672端口。

9.根据权利要求1所述的一种Openstack下RPC请求的流量整形系统,其特征在于,在所述MQ服务器集群上增加iptables规则将5672端口的包重定向到25672端口。

10.一种Openstack下RPC请求的流量整形方法,其特征在于,采用权利要求书1-9任一项所述的系统,包含以下步骤:

...

【技术特征摘要】

1.一种openstack下rpc请求的流量整形系统,包括数据库文件db、业务组件plugin、mq服务器集群和业务组件的代理组件agent,mq服务器集群分别连接业务组件plugin和各个业务组件的代理组件agent,业务组件plugin还连接数据库文件db,其特征在于,所述mq服务器集群增加rpc整形装置,rpc整形装置时刻监控mq服务器集群中各个队列的状态,当发现部分队列即将满时,通知对应的消息生产者暂缓或停止发送消息。

2.根据权利要求1所述的一种openstack下rpc请求的流量整形系统,其特征在于:所述rpc整形装置,内部接收25672端口过来的消息,从消息中解析出队列的topic_name并结合mq服务器集群中各个队列中unack消息的大小,设置三个级别的消息放行率,当unack消息占队列总长度的比例分别为小于60%、小于90%、大于90%时,消息放行的比例分别为100%、50%、1%,放行的消息送到mq服务器集群的5672端口。

3.根据权利要求1所述的一种openstack下rpc请求的流量整形系统,其特征在于,所述业务组件plugin有多个,代理组件agent有多个。

4.根据权利要求3所述的一种openstack下rpc请求的流量整形系统,其特征在于,所述业务组件plu...

【专利技术属性】
技术研发人员:户才来卢学嘉柯少杰王利成雷涛
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1