[发明专利]一种服务器智能动态扩容的方法在审
申请号: | 201910641189.5 | 申请日: | 2019-07-16 |
公开(公告)号: | CN110377424A | 公开(公告)日: | 2019-10-25 |
发明(设计)人: | 崔鹏;邹永红 | 申请(专利权)人: | 北京微鲤科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 上海精晟知识产权代理有限公司 31253 | 代理人: | 安曼 |
地址: | 100020 北京市朝阳区广*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种服务器智能动态扩容的方法,属于大数据技术领域,包括在服务器集群中建立配置模块、数据获取模块、数据库模块、算法模块、扩容缩容模块和告警模块,解决了经过对服务器的压力测试得到相应接口和服务器压力的关系,然后配置好相应的规则来约束扩容的触发和关闭的技术问题,本发明可以在没有docker服务的情况下来实现docker容器的一些功能,提高了工作质量,可以单独使用扩容模块达到添加固定节点的需求,减少了人为的错误并节省了人,可以预测压力和在发生压力时迅速的做出处理,减少了排查时间并增加服务可用率,告警模块可以提醒负责人关注项目,不用人为去看监控,节省人力。 | ||
搜索关键词: | 扩容 服务器 告警模块 智能动态 数据获取模块 服务器集群 服务器压力 数据库模块 单独使用 固定节点 配置模块 算法模块 压力测试 增加服务 大数据 触发 可用 排查 缩容 监控 预测 配置 服务 | ||
【主权项】:
1.一种服务器智能动态扩容的方法,其特征在于:包括如下步骤:步骤1:在服务器集群中建立配置模块、数据获取模块、数据库模块、算法模块、扩容缩容模块和告警模块;步骤2:设定某个项目A需要用到服务器集群中的数个服务器,数据获取模块用于获取项目A用到的所有服务器的接口指标,并将这些接口指标均存储在数据库模块中;接口指标包括接口信息、硬件的CPU数量、CPU阈值、load负载阈值和Qps阈值;CPU阈值为预设的CPU进程的占用比率的阈值;接口信息包括接口地址和响应时长阈值;数据库模块存储项目A所产生的数据,项目A所产生的数据包括保质期时间、接口地址、当前接口相应时长、CPU进程的占用比率、占用CPU的数量和load负载值;步骤3:配置模块根据数据库模块中的接口指标,生成关于项目A的配置文件,配置文件的格式为:项目名称+接口信息+CPU阈值+load负载阈值+Qps阈值;配置模块存储项目A的配置文件;步骤4:算法模块定时获取数据库模块中的项目A所产生的数据,并根据以下步骤进行是否扩容或缩容的计算:步骤S1:根据项目A的数据进行取平均值的计算,并与配置文件进行对比,并根据Cpu阈值算法、Load阈值算法、接口反应时间算法或Qps阈值算法计算扩容节点数量;步骤S2:Cpu阈值算法为:对项目A的数据中的CPU进程的占用比率进行平均值计算,得到当前CPU的占比率平均值为X2,设定CPU阈值为X1,如果X1<X2,则表明需要扩容;设定节点数为N,CPU进程的占用比率的正常使用的规定为50%,根据以下公式计算Cpu阈值算法的扩容节点数量Q1:Q1=[X2×(N‑2)÷50]‑8;步骤S3:Load阈值算法为:对项目A的数据中的load负载值进行平均值计算,得到当前load负载值Y2,设定接口指标中硬件的CPU数量为M1,那么Load负载阈值即为Y1=M1×0.6,如果Y1<Y2,则表明需要扩容;设定节点数为N,load负载值的正常使用规定为Y3=M1×0.5,根据以下公式计算Load阈值算法的扩容节点数量Q2:Q2=[Y1×(N‑2)÷Y3]‑M1;步骤S4:接口反应时间算法为:设定响应时长阈值为t1,当前接口相应时长为t2,如果t1<t2,则表示需要扩容,根据以下公式计算接口反应时间算法的扩容节点数量Q3:Q3=[t1÷t2×N]‑N;其中N为节点数量;步骤S5:Qps阈值算法为:根据服务正常时nginx日志来预估项目A所产生的数据的当前Qps值Qps2,设定Qps阈值为Qps1,当Qps1<Qps2时,则表示需要扩容;设定节点数为N,根据以下公式计算Qps阈值算法的扩容节点数量Q3:Q3=Qps2÷Qps1‑N;步骤S6:算法模块根据步骤S1到步骤S5的计算结果制定扩容计划,并根据扩容计划指导服务器集群中的节点完成扩容;步骤S7:算法模块记录根据Cpu阈值算法、Load阈值算法、接口反应时间算法或Qps阈值算法计算出的扩容节点数量,以及参与扩容的所有节点的服务器名称和接口指标,生成与项目A所产生的数据关联的扩容信息,根据扩容信息生成扩容文件,并将扩容文件存储到数据库模块;步骤5:扩容缩容模块根据根据步骤S6的方法进行扩容,具体步骤如下:步骤Y1:扩容缩容模块根据扩容计划获取需要扩容的节点数量,直接调用create_uhost模块创建主机集群,每一个主机为一个节点;步骤Y2:扩容缩容模块通过python调用shell把nginx配置备份,同步war包到指定的节点的tomcat下,并把这些参与扩容的节点加到DNS中,启动tomcat,把参与扩容的节点加入到nginx的upstream的地址池中,并统一分发到nginx的节点上直接提供服务。步骤6:当项目A所产生的数据下降到配置文件中所提供的阈值的40%时,进行缩容,其具体步骤如下:步骤Z1:先从nginx的upstrem中剔除参与扩容的节点,先使其不提供服务;步骤Z2:在tomcat上计算close_wait和time_wait占所有tcp连接的百分比,如果是达到90%就直接关闭tomcat回收节点资源;步骤Z3:如果在30分钟的时候还没达到90%阈值就直接关掉tomcat节点,回收节点资源。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京微鲤科技有限公司,未经北京微鲤科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910641189.5/,转载请声明来源钻瓜专利网。