CN114125055B - 多协议自动适配云原生网关系统控制方法、系统、设备及应用 - Google Patents
多协议自动适配云原生网关系统控制方法、系统、设备及应用 Download PDFInfo
- Publication number
- CN114125055B CN114125055B CN202111440550.1A CN202111440550A CN114125055B CN 114125055 B CN114125055 B CN 114125055B CN 202111440550 A CN202111440550 A CN 202111440550A CN 114125055 B CN114125055 B CN 114125055B
- Authority
- CN
- China
- Prior art keywords
- micro
- service
- gateway system
- protocol
- gateway
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000006978 adaptation Effects 0.000 title claims abstract description 25
- 238000006243 chemical reaction Methods 0.000 claims abstract description 40
- 230000008569 process Effects 0.000 claims abstract description 24
- 239000002184 metal Substances 0.000 claims abstract description 8
- 230000004044 response Effects 0.000 claims description 17
- 230000008602 contraction Effects 0.000 claims description 12
- 238000009434 installation Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000008447 perception Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 abstract description 12
- 238000010200 validation analysis Methods 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 8
- 230000003044 adaptive effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 210000001503 joint Anatomy 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Abstract
本发明属于互联网网关系统控制技术领域,公开了一种多协议自动适配云原生网关系统控制方法、系统、设备及应用,从网关系统收集流量统计,从微服务系统集群内部收集微服务系统运行信息统计;接收流量感知模块下发的指令,动态调整集群内部微服务运行实例个数;根据自动判断或用户设置,转换成目标协议,转换过程用户无感知。本发明自动适配多协议的云原生网关系统,该网关系统除了可以完成传统网关系统的路由、转发和负载均衡功能,还可以完成多种基于云原生的服务治理、协议适配和流量管控等功能。本发明支持java、golang和javascript语言;支持裸金属服务器部署包及容器化镜像包发布;支持所有设置动态生效,不需要重启微服务运行实例。
Description
技术领域
本发明属于互联网网关系统控制技术领域,尤其涉及一种多协议自动适配云原生网关系统控制方法、系统、设备及应用。
背景技术
目前,随着互联网技术的不断发展,各种软件服务在生活和工作方面成为不可或缺的工具。一个完整的网络服务往往由多个微服务系统组成,而多个微服务子系统一般通过网关系统完成数据的接入接出,传统的网关系统功能比较偏重于数据的路由、转发、负载均衡功能,对新型的基于微服务和容器化编排的云原生应用来说,缺少相应场景的管控能力,如:(1)网关系统缺乏对微服务系统内的监控,不能感知当前流量情况。(2)微服务系统内流量增大后,无法对系统内服务的实例数量进行动态调整,来应对大流量的需求。(3)多个微服务系统可能使用的通讯协议有区别,传统网关系统无法兼容多种协议并做适配。
现有技术1,https://www.talkwithtrend.com/Article/242337,使用API网关系统实现微服务治理,API网关系统主要功能聚焦在简化微服务治理,包括扩展性、负载均衡、路由、限流等,无法实现监控、跟踪微服务运行情况,无法实现对微服务运行实例的调整功能,也无法实现协议转换。
现有技术2,https://tech.meituan.com/2021/05/20/shepherd-api-gateway.html,百亿规模API网关系统服务Shepherd的设计与实现,API网关系统功能也集中在微服务治理,包含有限的基于CPU的弹性伸缩,但没有对基于网关系统流量、内存等指标的弹性伸缩,没有对应的伸缩算法,也没有对应支持的容器集群和裸金属服务器集群。仅仅包含有限的对rpc的协议转换,无法实现对自动协议转换的描述,无法实现更多协议支持,无法实现对用户自定义协议支持。
通过上述分析,现有技术存在的问题及缺陷为:
(1)传统的网关系统功能缺乏对微服务系统内的监控,不能感知当前流量情况,会导致出现流量高峰时,网关系统服务出现延迟、错误,甚至无法使用的情况发生。
(2)传统的网关系统功能微服务系统内流量增大后,无法对系统内服务的实例数量进行动态调整,来应对大流量的需求,会引起系统内部服务由于并发量过大,导致服务延迟、错误、服务不可用。
(3)传统的网关系统功能多个微服务系统可能使用的通讯协议有区别,传统网关系统无法兼容多种协议并做适配,如果外部服务和网格服务的协议不一样,会引起服务间无法通讯,服务对接出现异常。
解决以上问题及缺陷的难度为:
问题1解决起来相对比较简单,增加服务监控系统并定时上报网关系统即可。
问题2难度中等,要动态起停应用微服务运行实例、并在起停期间保证服务不出错,该专利使用容器编排及优雅起停技术,保证实例的起停不会导致服务报错。
问题3难度最高,微服务系统的协议多种多样,多种微服务系统之间要做协议适配,需要对每种系统的协议格式、协议实现都有了解,该专利在网关系统层实现了多协议的解析、适配及转发,保证服务间的正常调用。
解决以上问题及缺陷的意义为:
解决问题1可以让网关系统感知微服务系统对整体运行情况,根据得到的整体运行数据,网关系统可以调整网关系统资源及应用资源,保证系统的稳定性。
解决问题2可以让网关系统调整每种微服务的运行实例,有两个意义:1.故障高可用:即使微服务的一个运行实例不可用,还会有其他的该实例副本正常运行,网关系统会把流量及时切到正常实例上,保证微服务的高可用性;2.流量高可用:在微服务流量突然增大时,网关系统会增加相应的微服务运行实例数量,多实例均匀分摊服务流量,提高微服务高并发性能,降低服务响应时间,改善用户体验。
解决问题3可以让网关系统连通多个微服务系统,一般企业由于历史原因,会有多种服务系统同时使用,每种系统的通讯协议往往不一样,传统做法是通过增加一个适配层来完成不同协议的对接,但这种方法会让适配层成为整个系统的性能瓶颈,导致系统在高并发时无法扩容,系统无法响应,影响系统稳定性。该专利通过在网关系统兼容协议转换模块,有两个意义1.网关系统可以动态实例增加或减少,保证协议转发的性能不会成为瓶颈。2.减少了适配层的协议对接步骤,降低整个系统部署复杂度,提高运维效率。
发明内容
针对现有技术存在的问题,本发明提供了一种多协议自动适配云原生网关系统控制方法、系统、设备及应用。
本发明是这样实现的,一种多协议自动适配云原生网关系统控制方法,所述多协议自动适配云原生网关系统控制方法包括:
网关系统实时跟踪和采集外部用户请求信息及微服务系统集群内部运行信息,将统计的用户请求数、请求耗时、请求成功数和失败数作为流量统计信息;
收集微服务系统集群内部的CPU平均利用率及内存平均利用率,将其作为微服务系统运行信息统计的依据;
所述流量统计信息和所述微服务系统运行信息统计作为参考数据源,利用所述参考数据源计算得到期望的微服务运行实例个数,然后将该实例个数下发到扩缩容系统,进行微服务运行实例个数调整;
根据自动判断或用户设置,转换成目标协议,转换过程用户无感知。
进一步,所述网关系统实时跟踪和采集外部用户请求信息及微服务系统集群内部运行信息的方法包括:
当外部请求经过网关系统时,网关系统将请求时间、请求源、请求类型和请求目的服务信息写入时序数据库;
当有响应返回时,网关系统将请求响应时间、响应结果和响应报文信息写入时序数据库;
微服务系统定时将集群运行信息写入时序数据库;
流量感知模块定时从时序数据库取出流量信息及微服务运行信息,对实例个数进行计算,将计算结果下发给云原生扩容系统,由云原生扩容系统执行微服务运行实例个数调整过程。
进一步,所述微服务运行实例个数调整的方法包括:
当实例期望个数与实际个数不符合时,云原生扩容系统进行实例数的变更,所述的变更方式和微服务系统部署方式有关;
根据裸金属服务器安装方式变更实例个数,如果微服务系统是直接安装在裸金属服务器上,则云原生扩容系统就基于应用安装部署系统,应用安装部署系统调整微服务运行实例的进程个数,使实例进程个数符合实例期望个数。
根据容器化安装方式变更实例个数,如果微服务系统是直接安装在容器平台上,则云原生扩容系统就基于容器编排系统,容器编排系统调整微服务运行实例对应的容器个数,使实例容器个数符合实例期望个数。
进一步,所述转换成目标协议的方法包括:
当用户手动选择网关系统特定路由配置协议时,网关系统会判断接入的数据,如果数据非当前网关系统协议格式,则进行转换,网关系统会判断接出数据;如果数据非目标网关系统协议格式,则进行转换;目标协议可设置多个,针对不同接出网关系统设置不同协议格式;
当用户配置为自动协议转化时,网关系统会将所有数据统一转换为http格式,然后根据流入的字符串判断数据格式类型,如果数据类型为http格式,则无需转换,直接通过;如果数据类型非http格式,则统一转换为http格式。
进一步,所述微服务的实例调整方法为:
当CPU平均利用率高于最大值80%或低于最小值20%时,就确定微服务运行实例的数量需要调整,调整的CPU平均利用率目标值为50%,CPU资源期望的微服务运行实例个数为:
当内存平均利用率高于最大值80%时,或低于最小值20%时,就确定微服务运行实例的数量需要调整,调整的内存平均利用率目标值为50%;内存资源期望的微服务运行实例个数为:
当网关系统流量高于系统设置最大值90%时或低于最小值10%时,认为该微服务运行实例的数量需要调整,调整的网关系统流量目标值为系统设置最大值的50%;网关系统流量期望的微服务运行实例个数为:
最终微服务管理模块向微服务运行模块发送实例调整的目标数量为:
最终微服务运行实例个数=Max(CPU资源期望的实例个数,内存资源期望的实例个数,网关系统流量期望的实例个数)。
进一步,根据自动判断或用户设置,转换成目标协议,转换过程用户无感知具体包括:
用户通过网关系统管理系统登录,登录后,在线查看当前网关系统及微服务系统集群运行状态,云原生扩缩容实例数,及协议适配状况;
用户编辑流量感知规则,编辑完成后,点击保存,规则生效,网关系统会根据新规则调整微服务运行实例个数;
用户可以选择当前网关系统协议格式,以及目标协议格式,编辑完成后,点击保存,规则生效,网关系统会判断接入的数据,如果数据非当前网关系统协议格式,则进行转换,网关系统会判断接出数据;如果数据非目标网关系统协议格式,则进行转换;目标协议可设置多个,针对不同接出网关系统设置不同协议格式。
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述多协议自动适配云原生网关系统控制方法的步骤。
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述的多协议自动适配云原生网关系统控制方法。
本发明的另一目的在于提供一种实施所述多协议自动适配云原生网关系统控制方法的多协议自动适配云原生网关系统控制系统,所述多协议自动适配云原生网关系统控制系统包括:
流量感知系统,用于收集网关系统流量统计和微服务系统运行信息统计;
云原生扩缩容系统,用于接收流量感知模块下发的指令,动态调整集群内部微服务运行实例个数;
协议适配系统,保存多种协议堆栈,根据自动判断或用户设置,来转换成目标协议,转换过程用户无感知。
本发明的另一目的在于提供一种所述多协议自动适配云原生网关系统控制方法在互联网网关系统中的应用。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明的网关系统独有的流量感知算法,并将流量感知算法用到云原生的容器编排环境,达到网关系统控制微服务运行状况的目的。网关系统增加协议自动转换功能,传统的做法是将协议转换单独做成一个服务,本发明将协议转换和网关系统合并,简化部署难度,提高运维效率。目前支持http、xml和tcp协议自动转换。
本发明的网关系统可以能够动态调整服务运行实例的数量,并且调整过程不会导致服务有错误发生,传统的调整由于服务还没有准备好,流量就转发到该实例,导致服务会有出错情况,该专利通过优雅起停技术避免了该问题。
本发明的网关系统除了可以控制传统虚机搭建的服务,也可控制容器编排环境,对用户友好,不用考虑是容器化还是虚拟机环境。
本发明自动适配多协议的云原生网关系统,该网关系统除了可以完成传统网关系统的路由、转发和负载均衡功能以外,还可以完成多种基于云原生的服务治理,协议适配和流量管控等功能。
与现有技术相比,本发明具有以下优势:
(1)跨语言支持:目前支持java、golang和javascript语言。
(2)发布包多样性:支持裸金属服务器部署包及容器化镜像包发布。
(3)实时性:所有设置动态生效,不需要重启微服务运行实例。
附图说明
图1是本发明实施例提供的多协议自动适配云原生网关系统控制方法流程图。
图2是本发明实施例提供的多协议自动适配云原生网关系统控制系统的结构示意图。
图3是本发明实施例提供的网关系统流量感知及协议转换流程示意图。
图4是本发明实施例提供的某行云上云下融合云原生网关系统案例示意图。
图5是本发明实施例提供的某行基于云原生网关系统双中心单元化部署案例示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种多协议自动适配云原生网关系统控制方法、系统、设备及应用,下面结合附图对本发明作详细的描述。
网关系统会实时跟踪、采集外部用户请求信息及内部微服务系统集群运行信息,其中,将统计的用户请求数、请求耗时、请求成功数和失败数作为流量统计信息。从微服务系统集群内部收集微服务CPU平均利用率和内存平均利用率作为微服务系统运行信息统计依据。
流量统计信息和微服务系统运行信息统计作为参考数据源,被流量感知系统计算,计算方法如权利要求5所述,通过计算得到期望的微服务运行实例个数的后,就将该值下发到扩缩容系统,进行微服务运行实例个数调整。
一般企业内部会有很多存量非微服务系统,这些存量系统一般有多种通讯协议,比如自定义tcp协议/rpc/xml,这些存量系统由于通讯协议不符合微服务系统常用的http/json协议报文,无法直接对接微服务系统,通过网关系统内置的协议转换模块,可根据网关系统接收的报文头信息,判断外部协议类型,并自动转换为微服务系统可识别的协议,然后可对用户无感知对接内部服务系统。
对于一些网关系统没有内置的协议转换模块,用户可以灵活设置,开发自定义插件进行协议转换,完成报文转换,统一管理异构系统之间的通讯协议格式。
如图1所示,本发明提供的多协议自动适配云原生网关系统控制方法包括以下步骤:
S101:从网关系统收集流量统计,从微服务系统集群内部收集微服务系统运行信息统计;
S102:接收流量感知模块下发的指令,动态调整集群内部微服务运行实例个数;
S103:根据自动判断或用户设置,转换成目标协议,转换过程用户无感知。
作为本发明优化的一个实施例,上述三个步骤的实现过程具体描述如下:
1.1收集网关系统流量及内部运行信息过程:
1.1.1当外部请求经过网关系统时,网关系统将请求时间、请求源、请求类型和请求目的服务等信息写入时序数据库。
1.1.2当有响应返回时,网关系统将请求响应时间、响应结果和响应报文等信息写入时序数据库。
1.1.3微服务系统定时将集群运行信息比如实例个数、CPU占用、内存占用数、网络占用数等写入时序数据库。
1.1.4流量感知模块定时从时序数据库取出流量信息及微服务运行信息,并根据权利要求5所示的方法对实例个数进行计算,将计算结果下发给云原生扩容系统,由云原生扩容系统执行微服务运行实例个数调整过程。
1.2云原生扩容系统微服务运行实例个数调整过程:
1.2.1当实例期望个数与实际个数不符合时,云原生扩容系统进行实例数变更,所述的变更方式和微服务系统部署方式有关。
1.2.2裸金属服务器安装方式变更实例个数。新增实例个数过程:根据1.1.3统计得到的微服务运行信息,找到微服务软件安装包,将安装包拷贝到CPU和内存占用较低的服务器,并运行脚本启动运行;减少实例个数过程:根据1.1.3统计得到的微服务运行信息,找到所有微服务运行服务器,选取CPU和内存占用较高的服务器,并运行脚本停止运行。
1.2.3容器化安装方式变更实例个数:此时调用容器编排系统所提供接口,直接将实例个数变更为期望运行个数。比如当容器部署使用kubernetes编排时,更改微服务编排组件deployment副本数为期望运行实例个数即可。
1.3协议转换过程:
1.3.1当用户手动选择网关系统特定路由配置协议时,网关系统会判断接入的数据,如果数据非当前网关系统协议格式,则进行转换,网关系统会判断接出数据;如果数据非目标网关系统协议格式,则进行转换;目标协议可设置多个,针对不同接出网关系统设置不同协议格式。比如用户将网关系统某路由配置为http格式,那么如果到来的数据为xml格式,则将xml格式转化为http格式,并增加相关报文头。
1.3.2当用户配置为自动协议转化时,网关系统会将所有数据统一转换为http格式,然后根据流入字符串判断数据格式类型,如果数据格式类型为http格式,则无需转换,直接通过。如果数据格式类型非http格式,则统一转换为http格式。比如网关系统根据字符串判断到来的数据为xml格式,则自动执行协议转化,将xml格式转化为http格式,并增加相关报文头。
本发明提供的多协议自动适配云原生网关系统控制方法业内的普通技术人员还可以采用其他的步骤实施,图1的本发明提供的多协议自动适配云原生网关系统控制方法仅仅是一个具体实施例而已。
下面结合附图对本发明的技术方案作进一步的描述。
如图2所示,本发明提供了多协议适配的云原生网关系统,能够监控集群内的运行状况,并根据设置的规则调整集群服务运行的数量,保证流量增大后,系统依然能够稳定运行,包含流量感知系统、云原生扩缩容系统、协议适配系统。
流量感知系统用于收集两种信息:
1.网关系统流量统计,主要包含网关系统自身接入接出的流量数据,该信息从网关系统收集。
2.微服务系统运行信息统计,主要包含微服务系统实例个数、CPU占用、内存占用数和网络占用数,该信息从微服务系统集群内部收集。
网关系统定时收集上述两种感知信息,根据预先设置的规则,判断微服务系统集群运行状况是否需要调整,如果触发调整阈值,则会将调整信息下发给云原生扩缩容系统,云原生扩缩容系统调整服务运行实例数,从而动态增加或减少微服务运行实例数,提高系统整体稳定。
微服务运行实例调整规则如下:
CPU平均利用率高于最大值80%或低于最小值20%时,就确定微服务运行实例的数量需要调整,调整的CPU平均利用率目标值为50%。CPU资源期望的微服务运行实例个数为:
内存平均利用率高于最大值80%或低于最小值20%时,就确定微服务运行实例的数量需要调整,调整的内存平均利用率目标值为50%。内存资源期望的微服务运行实例个数为:
网关系统流量高于系统设置最大值90%或低于最小值10%时,就确定微服务运行实例的数量需要调整,调整的网关系统流量目标值为系统设置最大值的50%。网关系统流量期望的微服务运行实例个数为:
最终微服务管理模块向微服务运行模块发送实例调整的目标数量为:
最终微服务运行实例个数=Max(CPU资源期望的实例个数,内存资源期望的实例个数,网关系统流量期望的实例个数)。
云原生扩缩容系统主要由容器编排集群组成,接收流量感知模块下发的指令,动态调整集群内部微服务运行实例个数,目前使用kubernetes容器编排系统,但可对接其他容器编排系统。
协议适配系统保存多种协议堆栈,根据自动判断或用户设置,来转换成目标协议,转换过程用户无感知,目前支持http、xml和tcp协议自动转换。
整个系统运行流程如下:
用户可以通过网关系统管理系统登录,登录后,可以在线查看当前网关系统及微服务系统集群运行状态,云原生扩缩容实例数,及协议适配状况。
用户可编辑流量感知规则,编辑完成后,点击保存,规则生效,网关系统会根据新规则调整微服务运行实例个数。
用户可以选择当前网关系统协议格式,以及目标协议格式,编辑完成后,点击保存,规则生效,网关系统会判断接入的数据,如果数据非当前网关系统协议格式,则进行转换。网关系统会判断接出数据,如果数据非目标网关系统协议格式,则进行转换。目标协议可设置多个,针对不同接出网关系统设置不同协议格式。
本发明已经在基于银行的核心系统实施,该网关系统承接移动app用户发来的请求,请求经网关系统转发到银行内部系统,银行内部系统响应用户请求,经网关系统反馈到客户。在具体实施过程中,一般银行会对系统进行两地、三中心进行多部署任务,该专利可以针对两地、三中心方案进行适配,达到流量优先转发到主中心服务,如果主中心服务不可用,再转发到备中心,实现多中心服务高可用。
做本发明实施例的一个优化方案,网关系统详细流程如图3所示:
3.1当外部请求经过网关系统时,网关系统将请求时间、请求源、请求类型和请求目的服务等信息写入时序数据库。
3.2当有响应返回时,网关系统将请求响应时间、响应结果和响应报文等信息写入时序数据库。
3.3微服务系统定时将集群运行信息比如实例个数、CPU占用、内存占用数和网络占用数等写入时序数据库。
3.4流量感知模块定时从时序数据库取出3.1、3.2、3.3获取的流量信息及微服务运行信息,并根据权利要求5所示的方法进行计算期望实例个数,如果期望实例个数不是实际运行个数,则将计算结果下发给云原生扩容系统,由云原生扩容系统执行微服务运行实例个数调整过程,实例个数详细调整过程如1.2描述。如果期望实例个数等于实际运行个数,则跳过实例个数调整步骤。
3.5根据网关系统协议配置及请求格式,判断是否需要协议转换,如果需要,则调用协议转换方法,进行实际协议转换,如果不需要,则跳过该步骤。
3.6网关系统将处理过的请求下发到内部微服务,流程结束。
下面结合具体实施例对本发明的技术方案作进一步的描述。
实施例1:某行云上云下融合云原生网关系统案例。
如图4所示,该行有多个能力中心组成,中心间部署解耦,通过该专利网关系统,便可将不同能力中心连通,网关系统实现不同中心协议转换、资源整合等功能。
同时,通过该专利的云原生网关系统可以将云上云下的资源整合到一起,使得企业快速上云成为可能。
实施例2:某行基于云原生网关系统双中心单元化部署案例。
如图5所示,该系统通过网关系统实现多中心微服务负载接入及管控。
IDC-01及IDC-02都部署了云原生网关系统,中心间通过网关系统实现数据交互,并自动完成相关协议转换,中心间服务通讯不会再被协议不一致的问题所限制。
网关系统监控中心内微服务运行状况,如发现流量过大,及时对微服务运行实例进行扩缩容,减轻单实例负载,提高系统稳定性。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
Claims (6)
1.一种多协议自动适配云原生网关系统控制方法,其特征在于,所述多协议自动适配云原生网关系统控制方法包括:
网关系统实时跟踪和采集外部用户请求信息及微服务系统集群内部运行信息,将统计的用户请求数、请求耗时、请求成功数和失败数作为流量统计信息;
收集微服务系统集群内部的CPU平均利用率及内存平均利用率,将其作为微服务系统运行信息统计的依据;
所述流量统计信息和所述微服务系统运行信息统计作为参考数据源,利用所述参考数据源计算得到期望的微服务运行实例个数,然后将该实例个数下发到扩缩容系统,进行微服务运行实例个数调整;
根据自动判断或用户设置,转换成目标协议;
所述网关系统实时跟踪和采集外部用户请求信息及微服务系统集群内部运行信息的方法包括:
当外部请求经过网关系统时,网关系统将请求时间、请求源、请求类型和请求目的服务信息写入时序数据库;
当有响应返回时,网关系统将请求响应时间、响应结果和响应报文信息写入时序数据库;
微服务系统定时将集群运行信息写入时序数据库;
流量感知模块定时从时序数据库取出流量信息及微服务运行信息,对实例个数进行计算,将计算结果下发给云原生扩容系统,由云原生扩容系统执行微服务运行实例个数调整过程;
所述微服务运行实例个数调整的方法包括:
当实例期望个数与实际个数不符合时,云原生扩容系统进行实例数的变更,所述的变更方式和微服务系统部署方式有关;
根据裸金属服务器安装方式变更实例个数,如果微服务系统是直接安装在裸金属服务器上,则云原生扩容系统就基于应用安装部署系统,应用安装部署系统调整微服务运行实例的进程个数,使实例进程个数符合实例期望个数;
根据容器化安装方式变更实例个数,如果微服务系统是直接安装在容器平台上,则云原生扩容系统就基于容器编排系统,容器编排系统调整微服务运行实例对应的容器个数,使实例容器个数符合实例期望个数;
所述转换成目标协议的方法包括:
当用户手动选择网关系统特定路由配置协议时,网关系统会判断接入的数据,如果数据非当前网关系统协议格式,则进行转换,网关系统会判断接出数据;如果数据非目标网关系统协议格式,则进行转换;目标协议可设置多个,针对不同接出网关系统设置不同协议格式;
当用户配置为自动协议转化时,网关系统会将所有数据统一转换为http格式,然后根据流入的字符串判断数据格式类型,如果数据格式类型为http格式,则无需转换,直接通过;如果数据格式类型非http格式,则统一转换为http格式。
2.如权利要求1所述的多协议自动适配云原生网关系统控制方法,其特征在于,所述微服务的实例调整方法为:
当CPU平均利用率高于最大值80%或低于最小值20%时,就确定微服务运行实例的数量需要调整,调整的CPU平均利用率目标值为50%,CPU资源期望的微服务运行实例个数为:
当内存平均利用率高于最大值80%时,或低于最小值20%时,就确定微服务运行实例的数量需要调整,调整的内存平均利用率目标值为50%;内存资源期望的微服务运行实例个数为:
当网关系统流量高于系统设置最大值90%或低于最小值10%时,确定该微服务运行实例的数量需要调整,调整的网关系统流量目标值为系统设置最大值的50%;网关系统流量期望的微服务运行实例个数为:
最终微服务管理模块向微服务运行模块发送实例调整的目标数量为:
最终微服务运行实例个数=Max(CPU资源期望的实例个数,内存资源期望的实例个数,网关系统流量期望的实例个数)。
3.如权利要求1所述的多协议自动适配云原生网关系统控制方法,其特征在于,所述根据自动判断或用户设置,转换成目标协议的方法包括:
用户通过网关系统管理系统登录,登录后,在线查看当前网关系统及微服务系统集群运行状态,云原生扩缩容实例数,及协议适配状况;
用户编辑流量感知规则,编辑完成后,点击保存,规则生效,网关系统会根据新规则调整微服务运行实例个数;
用户可以选择当前网关系统协议格式,以及目标协议格式,编辑完成后,点击保存,规则生效,网关系统会判断接入的数据,如果数据非当前网关系统协议格式,则进行转换,网关系统会判断接出数据;如果数据非目标网关系统协议格式,则进行转换;目标协议可设置多个,针对不同接出网关系统设置不同协议格式。
4.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1中多协议自动适配云原生网关系统控制方法的步骤。
5.一种信息数据处理终端,其特征在于,所述信息数据处理终端用于实现权利要求1~3任意一项所述的多协议自动适配云原生网关系统控制方法。
6.一种实施权利要求1~3任意一项所述多协议自动适配云原生网关系统控制方法的多协议自动适配云原生网关系统控制系统,其特征在于,所述多协议自动适配云原生网关系统控制系统包括:
流量感知系统,用于收集网关系统流量统计和微服务系统运行信息统计;
云原生扩缩容系统,用于接收流量感知模块下发的指令,动态调整集群内部微服务运行实例个数;
协议适配系统,保存多种协议堆栈,根据自动判断或用户设置,来转换成目标协议,转换过程用户无感知。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111440550.1A CN114125055B (zh) | 2021-11-30 | 2021-11-30 | 多协议自动适配云原生网关系统控制方法、系统、设备及应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111440550.1A CN114125055B (zh) | 2021-11-30 | 2021-11-30 | 多协议自动适配云原生网关系统控制方法、系统、设备及应用 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114125055A CN114125055A (zh) | 2022-03-01 |
CN114125055B true CN114125055B (zh) | 2023-12-12 |
Family
ID=80368292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111440550.1A Active CN114125055B (zh) | 2021-11-30 | 2021-11-30 | 多协议自动适配云原生网关系统控制方法、系统、设备及应用 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114125055B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884969A (zh) * | 2022-04-28 | 2022-08-09 | 远景智能国际私人投资有限公司 | 集群实例的数量调控方法、装置、终端及存储介质 |
CN114745437A (zh) * | 2022-04-28 | 2022-07-12 | 南方电网深圳数字电网研究院有限公司 | 一种数据统一接入的方法及装置 |
CN115145683B (zh) * | 2022-06-22 | 2024-05-28 | 北京火山引擎科技有限公司 | 云服务实现方法及装置 |
CN115361385B (zh) * | 2022-08-15 | 2024-05-10 | 山东体育学院 | Docker Swarm环境中云原生应用自动弹性伸缩系统和伸缩方法 |
CN115658240B (zh) * | 2022-12-23 | 2023-03-28 | 杭州登虹科技有限公司 | 一种基于云原生的多协议字典网格解决方法及存储介质 |
TWI831686B (zh) * | 2023-05-03 | 2024-02-01 | 中華電信股份有限公司 | 擴增與縮減微服務的讀表系統及其方法 |
CN116319811B (zh) * | 2023-05-22 | 2023-07-28 | 来未来科技(浙江)有限公司 | 一种支持多协议转化及服务编排的网关路由系统 |
CN117156649B (zh) * | 2023-11-01 | 2024-03-01 | 中节能晶和科技有限公司 | 一种支持自动扩缩容接入不同数量单灯控的系统和方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108449312A (zh) * | 2018-01-31 | 2018-08-24 | 北京奇艺世纪科技有限公司 | 一种协议转换方法、装置、系统及网关 |
CN108989356A (zh) * | 2018-09-10 | 2018-12-11 | 四川长虹电器股份有限公司 | 一种api网关实现协议转换的方法 |
CN109067862A (zh) * | 2018-07-23 | 2018-12-21 | 北京邮电大学 | API Gateway自动伸缩的方法与装置 |
CN110933097A (zh) * | 2019-12-05 | 2020-03-27 | 美味不用等(上海)信息科技股份有限公司 | 面向多服务网关的限流与自动扩缩容方法 |
CN112035228A (zh) * | 2020-08-28 | 2020-12-04 | 光大科技有限公司 | 一种资源调度方法及装置 |
CN112463366A (zh) * | 2020-11-19 | 2021-03-09 | 上海交通大学 | 面向云原生的微服务自动扩缩容和自动熔断方法及系统 |
CN113268351A (zh) * | 2021-06-07 | 2021-08-17 | 北京金山云网络技术有限公司 | 一种网关服务的负载均衡方法及装置 |
CN113709166A (zh) * | 2021-08-31 | 2021-11-26 | 广州艾美网络科技有限公司 | 分布式业务网关实现方法、装置、计算机设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10824462B2 (en) * | 2018-11-15 | 2020-11-03 | Netapp, Inc. | Methods and systems for providing cloud based micro-services |
-
2021
- 2021-11-30 CN CN202111440550.1A patent/CN114125055B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108449312A (zh) * | 2018-01-31 | 2018-08-24 | 北京奇艺世纪科技有限公司 | 一种协议转换方法、装置、系统及网关 |
CN109067862A (zh) * | 2018-07-23 | 2018-12-21 | 北京邮电大学 | API Gateway自动伸缩的方法与装置 |
CN108989356A (zh) * | 2018-09-10 | 2018-12-11 | 四川长虹电器股份有限公司 | 一种api网关实现协议转换的方法 |
CN110933097A (zh) * | 2019-12-05 | 2020-03-27 | 美味不用等(上海)信息科技股份有限公司 | 面向多服务网关的限流与自动扩缩容方法 |
CN112035228A (zh) * | 2020-08-28 | 2020-12-04 | 光大科技有限公司 | 一种资源调度方法及装置 |
CN112463366A (zh) * | 2020-11-19 | 2021-03-09 | 上海交通大学 | 面向云原生的微服务自动扩缩容和自动熔断方法及系统 |
CN113268351A (zh) * | 2021-06-07 | 2021-08-17 | 北京金山云网络技术有限公司 | 一种网关服务的负载均衡方法及装置 |
CN113709166A (zh) * | 2021-08-31 | 2021-11-26 | 广州艾美网络科技有限公司 | 分布式业务网关实现方法、装置、计算机设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
基于Docker的容器集群管理平台的研究与实现;张城城;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;全文 * |
面向微服务系统的运行时部署优化;徐琛杰;周翔;彭鑫;赵文耘;;计算机应用与软件(10);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114125055A (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114125055B (zh) | 多协议自动适配云原生网关系统控制方法、系统、设备及应用 | |
CN108156013B (zh) | 一种页面服务容灾方法、装置及电子设备 | |
US7529855B2 (en) | Dynamic modification of fragmentation size cluster communication parameter in clustered computer system | |
US20120016994A1 (en) | Distributed system | |
US20030037150A1 (en) | System and method for quality of service based server cluster power management | |
US10649822B2 (en) | Event ingestion management | |
WO2016169308A1 (zh) | 视频云存储方法及系统、预览云存储的视频的方法及系统 | |
CN102868935A (zh) | 在内容分发网络中响应多源的调度方法 | |
US9857825B1 (en) | Rate based failure detection | |
CN112217847A (zh) | 微服务平台及其实现方法、电子设备及存储介质 | |
CN110912972A (zh) | 一种业务处理方法、系统、电子设备及可读存储介质 | |
JP2008505405A (ja) | 分散型通信プラットフォームにおけるロードバランシング | |
CN106936926B (zh) | 访问数据节点的方法及系统 | |
CN105721553A (zh) | 一种自适应集群消息分发器 | |
CN112653597A (zh) | 基于服务网格的服务熔断机制调整方法及系统 | |
CN116886496A (zh) | 基于dpu的数据处理方法、装置、设备及可读存储介质 | |
CN112256454B (zh) | 消息延时处理方法和系统 | |
WO2022016969A1 (zh) | 一种数据处理方法及装置 | |
EP3038306B1 (en) | Load balancing method and system | |
CN114500545A (zh) | 适用于容器的网络负载均衡方法、装置及电子设备 | |
CN113391927A (zh) | 一种业务事件的处理方法、装置、系统及存储介质 | |
CN114679412B (zh) | 一种流量向业务节点的转发方法、装置、设备及介质 | |
CN109450794A (zh) | 一种基于sdn网络的通信方法及设备 | |
WO2023279645A1 (zh) | 路径重分配方法和网络业务系统 | |
US11775401B1 (en) | Intelligent coordination of log analysis and repair processes in a multi-cloud system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |