一种基于Kong网关的应用服务自动维护方法、系统及设备与流程

文档序号:24570599发布日期:2021-04-06 12:17阅读:348来源:国知局
一种基于Kong网关的应用服务自动维护方法、系统及设备与流程

本发明涉及计算机技术领域,更具体的说是涉及一种基于kong网关的应用服务自动维护方法、系统及设备。



背景技术:

kong网关是在客户端和(微)服务间转发api通信的api网关,通过插件扩展功能。kong有两个主要组件:

1、kongserver:基于nginx的服务器,用来接收api请求。

2、apachecassandra:用来存储操作数据。

kong网关可以实现服务的反向代理访问、负载均衡。因此被是广泛使用的,但是,kong网关在使用过程中,内置的服务需要手动通过web界面注册、维护,自动化程度较低,而且,手动配置时,易于发生参数出错、遗漏的问题。

另外,在服务器宕机时,由于kong网关不会自动下线,仍然会接收用户请求,并访问不健康的业务应用服务节点,导致访问缓慢且影响部分访问业务的执行。



技术实现要素:

针对以上问题,本发明的目的在于提供一种基于kong网关的应用服务自动维护方法、系统及设备,能够实现kong网关和nacos注册配置中心服务的同步,降低微服务的维护成本、且自动化的服务注册维护能减少人为配置错误的发生。

本发明为实现上述目的,通过以下技术方案实现:一种基于kong网关的应用服务自动维护方法,包括如下步骤:

s1:在应用服务代码中引用nacos注册配置中心插件,并启动;

s2:对于待注册到kong网关的应用服务,在nacos注册配置中心管理界面中通过自定义配置允许其被发现;

s3:在kong网关中安装并启动同步程序;

s4:同步程序自动去nacos注册配置中心扫描所有服务,对于允许被发现的应用服务,启动同步服务;

s5:同步程序自动在kong网关中插入与允许被发现的应用服务对应的应用服务,并为该应用服务创建一个路由路径;

s6:同步程序拉取nacos注册配置中心中应用服务的所有节点信息,并自动在kong网关中为该应用服务创建对应的目标节点信息;

s7:nacos注册配置中心发现应用服务已经成功同步到kong网关后,访问kong网关的指定路径,自动将请求路由到对应的应用服务节点。

进一步,所述步骤1还包括:启动后发送待注册的服务名、服务ip地址、服务端口地址给nacos注册配置中心。

进一步,所述步骤s2具体为:对应待注册到kong网关的应用服务,在nacos注册配置中心管理界面中配置metadata,加入ongateway:1配置。

进一步,所述同步程序为lua编程语言编写的同步插件。

进一步,所述节点信息和目标节点信息均包括:ip地址、端口地址和访问权重。

进一步,所述应用服务节点即为目标节点。

进一步,所述步骤s7之后还包括:

当应用服务节点发生故障时,不再发送心跳给nacos注册配置中心,此时nacos注册配置中心的标记服务不可用;

同步程序定时拉取信息时若发现应用服务节点不健康,自动将kong网关中对应的应用服务节点删除,阻止请求流量进入不健康的应用服务节点。

相应的,本发明还公开一种基于kong网关的应用服务自动维护系统,包括:

引用单元,用于在应用服务代码中引用nacos注册配置中心插件,并启动;

配置单元,用于对与待注册到kong网关的应用服务,在nacos注册配置中心管理界面中通过自定义配置允许其被发现;

安装启动单元,用于在kong网关中安装并启动同步程序;

扫描启动单元,用于在nacos注册配置中心扫描所有服务,对于允许被发现的应用服务,启动同步服务;

服务插入单元,用于在kong网关中插入与允许被发现的应用服务对应的应用服务,并为该应用服务创建一个路由路径;

拉取创建单元,用于拉取nacos注册配置中心中应用服务的所有节点信息,并自动在kong网关中为该应用服务创建对应的目标节点信息;

访问单元,用于应用服务已经成功同步到kong网关后,访问kong网关的指定路径,自动将请求路由到对应的应用服务节点。

相应的,本发明还公开了一种基于kong网关的应用服务自动维护设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上文任一项所述基于kong网关的应用服务自动维护方法步骤。

对比现有技术,本发明有益效果在于:本发明提供了一种基于kong网关的应用服务自动维护方法、系统及设备实现kong网关和nacos注册配置中心服务的同步,实现了自动维护kong网关中的应用服务和节点。

nacos注册配置中心,英文全称dynamicnamingandconfigurationservice,na为naming/nameserver即注册中心,co为configuration即注册中心,service是指该注册/配置中心都是以服务为核心。nacos是一个微服务架构中广泛使用的服务注册中心,服务启动后可以自动注册到nacos,并被其他服务发现以方便服务的调用、负载均衡。nacos本身作为一个服务注册发现中心,可以将自身维护的各个服务、服务节点数据实时同步给kong网关,这将大大降低微服务的维护成本、且自动化的服务注册维护能减少人为配置错误的发生。

因此,本发明将nacos注册配置中心实际应用到了业务系统中。使kong网关的维护过程无需手工配置,自动化的同时降低了过去手动配置时参数出错、遗漏的问题。同时,实现了不健康节点自动从kong网关下线的功能,提高了业务请求成功率,阻止了部分用户请求进入不健康的业务应用服务节点。

由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

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

附图2是本发明的系统结构图。

具体实施方式

下面结合附图对本发明的具体实施方式做出说明。

如图1所示的一种基于kong网关的应用服务自动维护方法,包括如下步骤:

s1:在应用服务代码中引用nacos注册配置中心插件,并启动。

启动后发送待注册的服务名、服务ip地址、服务端口地址给nacos注册配置中心。

s2:对于待注册到kong网关的应用服务,在nacos注册配置中心管理界面中通过自定义配置允许其被发现。

具体来说,对应待注册到kong网关的应用服务,在nacos注册配置中心管理界面中配置metadata,加入“ongateway:1”配置。

s3:在kong网关中安装并启动同步程序。

其中,同步程序为lua编程语言编写的同步插件。

s4:同步程序自动去nacos注册配置中心扫描所有服务,对于允许被发现的应用服务,启动同步服务。

具体来说,同步程序将去nacos注册配置中心扫描所有服务,对于包含“ongateway:1”metadata的服务,会启动同步任务。

s5:同步程序自动在kong网关中插入与允许被发现的应用服务对应的应用服务,并为该应用服务创建一个路由路径。

具体来说,同步程序自动在kong网关中插入一个服务,命名为应用服务名+“_nacos”。并且自动为该服务创建一个路由路径:“/应用服务名/”。

s6:同步程序拉取nacos注册配置中心中应用服务的所有节点信息,并自动在kong网关中为该应用服务创建对应的目标节点信息。

其中,节点信息和目标节点信息均包括:ip地址、端口地址和访问权重。

s7:nacos注册配置中心发现应用服务已经成功同步到kong网关后,访问kong网关的指定路径,自动将请求路由到对应的应用服务节点。

此处的应用服务节点即为步骤s6中的目标节点。

s8:同步程序定时拉取信息时若发现应用服务节点不健康,自动将kong网关中对应的应用服务节点删除,阻止请求流量进入不健康的应用服务节点。

其中,当应用服务节点发生故障时,不再发送心跳给nacos注册配置中心,此时nacos注册配置中心的标记服务不可用。

相应的,如图2所示,本发明还公开了一种基于kong网关的应用服务自动维护系统,包括:

引用单元,用于在应用服务代码中引用nacos注册配置中心插件,并启动。

配置单元,用于对与待注册到kong网关的应用服务,在nacos注册配置中心管理界面中通过自定义配置允许其被发现。

安装启动单元,用于在kong网关中安装并启动同步程序。

扫描启动单元,用于在nacos注册配置中心扫描所有服务,对于允许被发现的应用服务,启动同步服务。

服务插入单元,用于在kong网关中插入与允许被发现的应用服务对应的应用服务,并为该应用服务创建一个路由路径。

拉取创建单元,用于拉取nacos注册配置中心中应用服务的所有节点信息,并自动在kong网关中为该应用服务创建对应的目标节点信息。

访问单元,用于应用服务已经成功同步到kong网关后,访问kong网关的指定路径,自动将请求路由到对应的应用服务节点。

相应的,本发明还公开了一种基于kong网关的应用服务自动维护设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上文任一项所述基于kong网关的应用服务自动维护方法步骤。

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统、系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。

同理,在本发明各个实施例中的各处理单元可以集成在一个功能模块中,也可以是各个处理单元物理存在,也可以两个或两个以上处理单元集成在一个功能模块中。

结合附图和具体实施例,对本发明作进一步说明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所限定的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1