掌桥专利:专业的专利平台
掌桥专利
首页

一种有状态服务动态扩缩容的方法及其系统

文献发布时间:2023-06-19 19:32:07


一种有状态服务动态扩缩容的方法及其系统

技术领域

本发明涉及计算机通讯技术领域,特别是一种有状态服务动态扩缩容的方法及其系统。

背景技术

服务分为无状态服务和有状态服务,无状态服务本地不缓存数据,每次处理请求都从数据库实时读写,优点是服务器无状态可以更容易的扩缩容,缺点是频繁的读写数据库,对数据库的压力增加,服务响应高,性能低。

无状态服务可以有一个或多个实例;有状态服务只有一个实例。请求和请求间没有强关联关系,所以无状态服务实现扩展比较方便,请求可以发送至任意服务上去,而不用考虑请求切换问题。有状态服务可以实现事务,事务简单来说就是多件事情组成一个集合,集合中没见事情要全部正确完成了,这个集合才算完成。如果集合中的事情有一个没有完成,即使其他事情完成了,也得将已完成的事情的相关数据恢复到原来的状态,就是回滚。那么对于一些延时敏感要求高的服务来说,就要选择有状态服务,由于有状态服务本地缓存着数据,优先从缓存获取和处理数据,所以响应快性能高。那么如何解决有状态服务动态扩缩容的问题,最粗暴的是停服更新,但带来的问题是对玩家体验的折损。本专利为解决以上痛点,提出了一种有状态服务动态扩缩容的方法及其系统。

网络节点服务器是一种服务器装置,服务器节点是针对服务器集群来说的。主要应用在WEB、FTP。VPN等等的服务上。

发明内容

为克服上述问题,本发明的目的是提供一种有状态服务动态扩缩容的方法,能够在有状态服务不停机的情况下,动态的扩缩容。

本发明采用以下方案实现:一种有状态服务动态扩缩容的方法,所述方法包括如下步骤:

步骤S1、协调程序采集所有服务器节点的运行状况,统计服务器节点的cpu使用率和内存使用率持续在设定时间内均低于30%的服务器节点数量,当服务器节点数量超过总服务器节点数量的一半以上,协调程序选取cpu使用率最低的服务器节点进行迁出,选取cpu使用率其次的服务器节点进行迁入;

步骤S2、协调程序通知迁出服务器节点需要缩容,迁出服务器节点缩容完成后发送搬迁完毕命令至协调程序;

步骤S3、收到迁出服务器节点搬迁完毕的命令后,发送接替指令至迁入服务器节点,迁入服务器节点收到指令后,加载数据库数据后开始处理迁出服务器节点转发的用户请求;

步骤S4、统计cpu使用率和内存使用率高于80%的服务器节点数量,当服务器节点数量超过总服务器节点数量的一半以上,选取一个备用池中的服务器节点加入集群。

进一步的,所述步骤S2进一步具体为:协调程序通知迁出服务器节点需要缩容,该迁出服务器节点变为搬迁状态,不再处理新的用户请求,转发之后接收到的请求至迁入服务器节点;迁出服务器节点将内存业务数据回写至数据库,并将内存临时数据发送至迁入服务器节点,迁入服务器节点接收迁出服务器节点的内存临时数据,合并加载至原本的迁入服务器节点内存临时数据结构中,迁出服务器节点缩容完成后发送搬迁完毕命令至协调程序。

进一步的,迁出服务器节点缩容完成后发送搬迁完毕命令至协调程序,则迁出服务器节点和迁入服务器节点完成搬迁工作,此时迁出服务器节点能下线不再使用,发送搬迁完毕命令至协调程序,协调程序从集群列表中移除迁出服务器节点,转入备用池进行备用。

本发明还提供了一种有状态服务动态扩缩容的系统,所述系统包括迁出确定模块、缩容处理模块、迁入服务处理模块、备用池处理模块;

所述迁出确定模块,通过协调程序采集所有服务器节点的运行状况,统计服务器节点的cpu使用率和内存使用率持续在设定时间内均低于30%的服务器节点数量,当服务器节点数量超过总服务器节点数量的一半以上,协调程序选取cpu使用率最低的服务器节点进行迁出,选取cpu使用率其次的服务器节点进行迁入;

所述缩容处理模块,通过协调程序通知迁出服务器节点需要缩容,迁出服务器节点缩容完成后发送搬迁完毕命令至协调程序;

所述迁入服务处理模块,收到迁出服务器节点搬迁完毕的命令后,发送接替指令至迁入服务器节点,迁入服务器节点收到指令后,加载数据库数据后开始处理迁出服务器节点转发的用户请求;

所述备用池处理模块,统计cpu使用率和内存使用率高于80%的服务器节点数量,当服务器节点数量超过总服务器节点数量的一半以上,选取一个备用池中的服务器节点加入集群。

进一步的,所述缩容处理模块进一步具体为:协调程序通知迁出服务器节点需要缩容,该迁出服务器节点变为搬迁状态,不再处理新的用户请求,转发之后接收到的请求至迁入服务器节点;迁出服务器节点将内存业务数据回写至数据库,并将内存临时数据发送至迁入服务器节点,迁入服务器节点接收迁出服务器节点的内存临时数据,合并加载至原本的迁入服务器节点内存临时数据结构中,迁出服务器节点缩容完成后发送搬迁完毕命令至协调程序。

进一步的,迁出服务器节点缩容完成后发送搬迁完毕命令至协调程序,则迁出服务器节点和迁入服务器节点完成搬迁工作,此时迁出服务器节点能下线不再使用,发送搬迁完毕命令至协调程序,协调程序从集群列表中移除迁出服务器节点,转入备用池进行备用。

本发明的有益效果在于:本发明的协调程序采集所有服务器节点的运行状况,统计服务器节点的cpu使用率和内存使用率持续在设定时间内均低于30%的服务器节点数量,当服务器节点数量超过总服务器节点数量的一半以上,协调程序选取cpu使用率最低的服务器节点进行迁出,选取cpu使用率其次的服务器节点进行迁入;协调程序通知迁出服务器节点需要缩容,迁出服务器节点进行缩容,即把cpu使用率最低的节点的数据迁移至cpu使用率其次的节点,能够在有状态服务不停机的情况下,动态的扩缩容,提高用户的体验度。

附图说明

图1是本发明的方法流程示意图。

图2是本发明的系统原理框图。

具体实施方式

下面结合附图对本发明做进一步说明。

请参阅图1所示,一种有状态服务动态扩缩容的方法,所述方法包括如下步骤:

步骤S1、协调程序采集所有服务器节点的运行状况,统计服务器节点的cpu使用率和内存使用率持续在设定时间内均低于30%的服务器节点数量,当服务器节点数量超过总服务器节点数量的一半以上,协调程序选取cpu使用率最低的服务器节点进行迁出,选取cpu使用率其次的服务器节点进行迁入;

步骤S2、协调程序通知迁出服务器节点需要缩容,迁出服务器节点缩容完成后发送搬迁完毕命令至协调程序;

步骤S3、收到迁出服务器节点搬迁完毕的命令后,发送接替指令至迁入服务器节点,迁入服务器节点收到指令后,加载数据库数据后开始处理迁出服务器节点转发的用户请求;

步骤S4、统计cpu使用率和内存使用率高于80%的服务器节点数量,当服务器节点数量超过总服务器节点数量的一半以上,选取一个备用池中的服务器节点加入集群。

下面结合一具体实施例对本发明做进一步说明:

一种有状态服务动态扩缩容的方法,该方法为:

步骤一、协调程序采集所有服务器节点的健康状况,当服务器节点的cpu使用率和内存使用率持续1-24小时均低于30%的服务器节点数量超过总服务器节点数量的一半以上,协调程序选取cpu使用率最低的服务器节点进行迁出,选取cpu使用率其次的服务器节点进行迁入。

即:每个服务器节点每分钟会向协调程序上报本服务器当前的cpu使用率和内存使用率,如果协调程序检测到cpu使用率和内存使用率持续1-24小时均低于30%的服务器节点数量超过总服务器节点数量的一半以上,则意味着服务器闲置资源太多,需要缩容。协调程序选取cpu使用率最低的服务器节点作为需要缩容的节点,也就是迁出节点。选取cpu使用率其次的服务器节点作为迁出节点的迁入节点,也就是把cpu使用率最低的节点的数据迁移至cpu使用率其次的节点。

步骤二、协调程序通知迁出服务器节点需要缩容,该服务器节点变为搬迁状态,不再处理新的用户请求,转发之后接收到的请求至迁入服务器节点。迁出服务器节点将内存业务数据回写至数据库,并将内存临时数据发送至迁入节点,迁入节点接收迁出节点的内存临时数据,合并加载至原本的内存临时数据结构中。迁出服务器节点完成后发送搬迁完毕命令至协调程序。

即:协调程序通知迁出服务器节点需要缩容,该服务器节点暂时变为搬迁状态,不再处理新的用户请求,并转发之后接收到的用户请求至迁入服务器节点。在迁出服务器节点要下线之前,需要处理好当前服务中的状态数据,将内存中的业务数据即时回写至数据库中保存。内存中的临时数据由于没有对应的业务数据库进行保存,但又存储着统计、计算等数据不可丢弃,把内存临时数据发送至迁入服务器节点,迁入服务器节点收到内存临时数据后合并加载至本服务的内存临时数据结构中。至此迁出服务器节点和迁入服务器节点完成搬迁工作,此时迁出服务器节点可以下线不再使用,发送搬迁完毕命令至协调程序,协调程序从集群列表中移除迁出服务器节点,转入备用池备用。

步骤三、协调者收到迁出服务器节点搬迁完毕的命令后,发送接替指令至迁入节点,迁入节点收到指令后,加载数据库数据后开始处理迁出节点转发的用户请求。

即:协调者收到迁出服务器节点搬迁完毕的命令之后,协调者发送接替命令至迁入节点,此时迁入节点即可完全接替迁出节点进行工作,迁出节点收到接替指令后,加载迁出节点保存至数据库的业务数据至内存中,接着就可以正式开始处理迁出节点转发的用户请求了。

步骤四、当协调程序发现cpu使用率和内存使用率高于80%的服务器节点数量超过总节点数的一半以上即50%以上,选取一个备用池中的服务器节点加入集群。

即:如果协调程序发现cpu使用率和内存使用率高于80%的服务器节点数量超过总服务器节点数的50%-100%,则从备用池中选取一个服务器节点加入集群。由于扩容新的服务器节点没有历史数据需要处理,比较简单,只需加入集群,待用户请求进入即可。

请参阅图2所示,本发明还提供了一种有状态服务动态扩缩容的系统,所述系统包括迁出确定模块、缩容处理模块、迁入服务处理模块、备用池处理模块;

所述迁出确定模块,通过协调程序采集所有服务器节点的运行状况,统计服务器节点的cpu使用率和内存使用率持续在设定时间内均低于30%的服务器节点数量,当服务器节点数量超过总服务器节点数量的一半以上,协调程序选取cpu使用率最低的服务器节点进行迁出,选取cpu使用率其次的服务器节点进行迁入;

所述缩容处理模块,通过协调程序通知迁出服务器节点需要缩容,迁出服务器节点缩容完成后发送搬迁完毕命令至协调程序;

所述缩容处理模块进一步具体为:协调程序通知迁出服务器节点需要缩容,该迁出服务器节点变为搬迁状态,不再处理新的用户请求,转发之后接收到的请求至迁入服务器节点;迁出服务器节点将内存业务数据回写至数据库,并将内存临时数据发送至迁入服务器节点,迁入服务器节点接收迁出服务器节点的内存临时数据,合并加载至原本的迁入服务器节点内存临时数据结构中,迁出服务器节点缩容完成后发送搬迁完毕命令至协调程序。

迁出服务器节点缩容完成后发送搬迁完毕命令至协调程序,则迁出服务器节点和迁入服务器节点完成搬迁工作,此时迁出服务器节点能下线不再使用,发送搬迁完毕命令至协调程序,协调程序从集群列表中移除迁出服务器节点,转入备用池进行备用。

所述迁入服务处理模块,收到迁出服务器节点搬迁完毕的命令后,发送接替指令至迁入服务器节点,迁入服务器节点收到指令后,加载数据库数据后开始处理迁出服务器节点转发的用户请求;

所述备用池处理模块,统计cpu使用率和内存使用率高于80%的服务器节点数量,当服务器节点数量超过总服务器节点数量的一半以上,选取一个备用池中的服务器节点加入集群。

总之,本发明的协调程序采集所有服务器节点的运行状况,统计服务器节点的cpu使用率和内存使用率持续在设定时间内均低于30%的服务器节点数量,当服务器节点数量超过总服务器节点数量的一半以上,协调程序选取cpu使用率最低的服务器节点进行迁出,选取cpu使用率其次的服务器节点进行迁入;协调程序通知迁出服务器节点需要缩容,迁出服务器节点进行缩容,即把cpu使用率最低的节点的数据迁移至cpu使用率其次的节点,能够在有状态服务不停机的情况下,动态的扩缩容,提高用户的体验度。

以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

技术分类

06120115940369