一种基于微服务架构的服务下线方法、设备和系统技术方案

技术编号:17784203 阅读:16 留言:0更新日期:2018-04-22 15:39
本申请实施例提供一种基于微服务架构的服务下线方法、设备和系统,所述方法包括:确定第一服务节点,向所述第一服务节点发送下线指令;确认服务注册设备是否从注册列表中删除所述第一服务节点的地址信息;若确认服务注册设备已从注册列表中删除所述第一服务节点的地址信息,确认网关设备的缓存列表是否包含第一服务节点的地址信息;若确认网关设备的缓存列表不包含第一服务节点的地址信息,在确认第一服务节点的数据请求处理完毕后,发送关闭第一服务节点的指令。本申请实施例可以有效提高应用系统更新效率和性能,有效避免了外部数据请求丢失,减少了外部数据请求调用失败的发生。

【技术实现步骤摘要】
一种基于微服务架构的服务下线方法、设备和系统
本申请实施例涉及计算机
,具体涉及一种基于微服务架构的服务下线方法、设备和系统。
技术介绍
现有技术中,应用系统一般采用如图1所示的系统架构,一个负载均衡服务器与两个服务器连接,两个服务器对应同一应用A,实现相同的服务功能。当接收到外部请求时,由负载均衡服务器将外部请求平均分配到两个服务器上处理。这种架构可以在一定程度上满足负载均衡的需求,但也存在不能够及时对系统进行更新发布的缺陷。这是因为同一应用的所有功能均集中在一起,一旦更新需要较长的启动时间。此外,现有技术应用系统的更新发布往往放在深夜进行,不能满足高可用要求。若在紧急情况下例如系统出现异常需要对应用系统进行更新时,往往会丢失正在处理的数据请求,导致服务调用失败。
技术实现思路
本申请实施例提供了一种基于微服务架构的服务下线方法、设备和系统,旨在解决现有技术应用系统更新效率低、容易出现数据请求丢失的技术问题。为此,本申请实施例提供如下技术方案:本申请实施例的第一方面公开了一种基于微服务架构的服务下线方法,应用于服务控制设备,所述服务控制设备与服务注册设备、网关设备以及各服务节点通信连接,所述方法包括:服务控制设备确定第一服务节点,向所述第一服务节点发送下线指令;其中,所述第一服务节点与第一服务对应,所述第一服务为第一应用程序包括的多个服务中的一个服务;服务控制设备确认服务注册设备是否从注册列表中删除所述第一服务节点的地址信息;其中,所述服务注册设备用于在接收到第一服务节点发送的下线请求后,从注册列表中删除所述第一服务节点的地址信息;若确认服务注册设备已从注册列表中删除所述第一服务节点的地址信息,服务控制设备确认网关设备的缓存列表是否包含第一服务节点的地址信息;其中,所述网关设备用于根据所述注册列表的信息更新所述缓存列表的信息;若确认网关设备的缓存列表不包含第一服务节点的地址信息,服务控制设备在确认第一服务节点的数据请求处理完毕后,发送关闭第一服务节点的指令。本申请实施例的第二方面,公开了一种基于微服务架构的服务下线方法,应用于服务注册设备,所述服务注册设备与服务控制设备、网关设备以及各服务节点通信连接,所述方法包括:服务注册设备接收第一服务节点发送的下线请求,从注册列表中删除第一服务节点的地址信息;服务注册设备向网关设备发送更新的注册列表,用于指示网关设备根据所述更新的注册列表更新所述网关设备保存的缓存列表;服务注册设备向服务控制设备发送消息,用于指示所述服务控制设备已从注册列表中删除所述第一服务节点的地址信息。本申请实施例的第三方面,公开了一种基于微服务架构的服务下线方法,应用于网关设备,所述网关设备与服务控制设备、服务注册设备以及各服务节点通信连接,所述方法包括:网关设备接收服务注册设备发送的更新的注册列表,根据所述更新的注册列表更新所述网关设备保存的缓存列表;网关设备向服务控制设备发送消息,用于指示所述网关设备的缓存列表是否包含第一服务节点的地址信息。本申请实施例的第四方面,公开了一种服务控制设备,包括:确定单元,用于确定第一服务节点,向所述第一服务节点发送下线指令;其中,所述第一服务节点与第一服务对应,所述第一服务为第一应用程序包括的多个服务中的一个服务;第一确认单元,用于确认服务注册设备是否从注册列表中删除所述第一服务节点的地址信息;其中,所述服务注册设备用于在接收到第一服务节点发送的下线请求后,从注册列表中删除所述第一服务节点的地址信息;第二确认单元,用于若确认服务注册设备已从注册列表中删除所述第一服务节点的地址信息,确认网关设备的缓存列表是否包含第一服务节点的地址信息;其中,所述网关设备用于根据所述注册列表的信息更新所述缓存列表的信息;关闭单元,用于若确认网关设备的缓存列表不包含第一服务节点的地址信息,服务控制设备在确认第一服务节点的数据请求处理完毕后,发送关闭第一服务节点的指令。本申请实施例的第五方面,公开了一种服务控制设备,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行如第一方面所述的基于微服务架构的服务下线方法。本申请实施例的第六方面,公开了一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行如第一方面所述的基于微服务架构的服务下线方法。本申请实施例的第七方面,公开了一种服务注册设备,包括:删除单元,用于接收第一服务节点发送的下线请求,从注册列表中删除第一服务节点的地址信息;第一发送单元,用于向网关设备发送更新的注册列表,用于指示网关设备根据所述更新的注册列表更新所述网关设备保存的缓存列表;第二发送单元,用于向服务控制设备发送消息,用于指示所述服务控制设备已从注册列表中删除所述第一服务节点的地址信息。本申请实施例的第八方面,公开了一种服务注册设备,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行如第二方面所述的基于微服务架构的服务下线方法。本申请实施例的第九方面,公开了一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行如第二方面所述的基于微服务架构的服务下线方法。本申请实施例的第十方面,公开了一种网关设备,包括:接收单元,用于接收服务注册设备发送的更新的注册列表,根据所述更新的注册列表更新所述网关设备保存的缓存列表;发送单元,用于向服务控制设备发送消息,用于指示所述网关设备的缓存列表是否包含第一服务节点的地址信息。本申请实施例的第十一方面,公开了一种网关设备,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行如第三方面所述的基于微服务架构的服务下线方法。本申请实施例的第十二方面,公开了一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行如第三方面所述的基于微服务架构的服务下线方法。本申请实施例至少一个方面能够达到的有益效果是:本申请可以由服务控制设备从第一应用程序包含的多个服务中选择一个服务对应的一个或多个服务节点作为第一服务节点,向其发生下线指令。所述服务控制设备在确认服务注册设备以及网关设备中均不包含所述第一服务节点的地址信息且所述第一服务节点的数据请求处理完毕后,才发送关闭第一服务节点的指令。由于本申请实施例可以针对应用程序包含的多个服务中的一个服务的子节点执行下线处理,而不必下线整个应用程序对应的服务,使得应用程序在服务节点更新时,仍能够对外提供服务,且调用应用程序的外部客户端对此无感知,实现了应用程序服务的灰度发布,提高了应用程序的处理性能和更新效率,提升了用户体验。此外,本申请实施例在确认注册设备及网关设备均不包含第一服务节点的注册信息时,才关闭第一服务节点,使得新的外部数据请求不会由网关分配到第一服务节点上,避免了外部数据请求的调用失败。另外,本申请实施例在确认第一服务节点的数据请求处理完毕后,才关闭第一服务节点,不会丢失第一服务节点正在处理的数据请求,避免了外部数据请求的调用失败,提升了用户体验。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例本文档来自技高网...
一种基于微服务架构的服务下线方法、设备和系统

【技术保护点】
一种基于微服务架构的服务下线方法,其特征在于,应用于服务控制设备,所述服务控制设备与服务注册设备、网关设备以及各服务节点通信连接,所述方法包括:服务控制设备确定第一服务节点,向所述第一服务节点发送下线指令;其中,所述第一服务节点与第一服务对应,所述第一服务为第一应用程序包括的多个服务中的一个服务;服务控制设备确认服务注册设备是否从注册列表中删除所述第一服务节点的地址信息;其中,所述服务注册设备用于在接收到第一服务节点发送的下线请求后,从注册列表中删除所述第一服务节点的地址信息;若确认服务注册设备已从注册列表中删除所述第一服务节点的地址信息,服务控制设备确认网关设备的缓存列表是否包含第一服务节点的地址信息;其中,所述网关设备用于根据所述注册列表的信息更新所述缓存列表的信息;若确认网关设备的缓存列表不包含第一服务节点的地址信息,服务控制设备在确认第一服务节点的数据请求处理完毕后,发送关闭第一服务节点的指令。

【技术特征摘要】
1.一种基于微服务架构的服务下线方法,其特征在于,应用于服务控制设备,所述服务控制设备与服务注册设备、网关设备以及各服务节点通信连接,所述方法包括:服务控制设备确定第一服务节点,向所述第一服务节点发送下线指令;其中,所述第一服务节点与第一服务对应,所述第一服务为第一应用程序包括的多个服务中的一个服务;服务控制设备确认服务注册设备是否从注册列表中删除所述第一服务节点的地址信息;其中,所述服务注册设备用于在接收到第一服务节点发送的下线请求后,从注册列表中删除所述第一服务节点的地址信息;若确认服务注册设备已从注册列表中删除所述第一服务节点的地址信息,服务控制设备确认网关设备的缓存列表是否包含第一服务节点的地址信息;其中,所述网关设备用于根据所述注册列表的信息更新所述缓存列表的信息;若确认网关设备的缓存列表不包含第一服务节点的地址信息,服务控制设备在确认第一服务节点的数据请求处理完毕后,发送关闭第一服务节点的指令。2.根据权利要求1所述的方法,其特征在于,所述服务控制设备确定第一服务节点包括:当第一服务对应多个服务节点时,从多个服务节点中选取资源占用率低的一个或多个服务节点作为第一服务节点;或者,当第一服务对应多个服务节点时,从多个服务节点中随机选取一个或多个服务节点作为第一服务节点;其中,选取的第一服务节点的数量小于第一服务对应的服务节点的数量。3.根据权利要求1所述的方法,其特征在于,所述服务控制设备确认服务注册设备是否从注册列表中删除所述第一服务节点的地址信息包括:服务控制设备向服务注册设备发送列表请求;服务控制设备接收服务注册设备发送的注册列表,将所述第一服务节点的地址信息与所述注册列表包含的各服务节点的地址信息匹配;若不存在匹配结果,确定服务注册设备从注册列表中删除所述第一服务节点的地址信息。4.根据权利要求1所述的方法,其特征在于,所述服务控制设备确认服务注册设备是否从注册列表中删除所述第一服务节点的地址信息包括:服务控制设备接收服务注册设备发送的确认信息,根据所述确认信息确定服务注册设备从注册列表中删除所述第一服务节点的地址信息;其中,所述确认信息是服务注册设备在接收到第一服务节点发送的下线请求并从注册列表中删除所述第一服务节点的地址信息后发送的。5.根据权利要求1所述的方法,其特征在于,所述服务控制设备确认网关设备的缓存列表是否包含第一服务节点的地址信息包括:服务控制设备向网关设备发送请求;服务控制设备接收网关设备发送的缓存列表,将所述第一服务节点的地址信息与所述缓存列表包含的各服务节点的地址信息进行匹配;若不存在匹配结果,确定所述缓存列表不包含第一服务节点的地址信息。6.根据权利要求1所述的方法,其特征在于,所述服务控制设备确认网关设备的缓存列表是否包含第一服务节点的地址信息包括:服务控制设备接收网关设备发送的确认信息,根据所述确认信息确定网关设备的缓存列表不包含所述第一服务节点的地址信息;其中,所述确认信息是网关设备更新缓存列表中的服务节点的地址信息后发送的。7.根据权利要求1所述的方法,其特征在于,服务控制设备确认所述第一服务节点的数据请求处理完毕包括:服务控制设备根据各数据请求的历史处理时间确定第一预设时间,在经过第一预设时间后,确认第一服务节点数据处理请求处理完毕;或者,服务控制设备获取第一服务节点的资源占用率,当所述资源占用率小于第一预设阈值时,确定第一服务节点的数据请求处理完毕;或者,服务控制设备接收第一服务节点在数据处理请求处理完毕后发送的确认信息,确定第一服务节点的数据请求处理完毕。8.一种基于微服务架构的服务下线方法,其特征在于,应用于服务注册设备,所述服务注册设备与服务控制设备、网关设备以及各服务节点通信连接,所述方法包括:服务注册设备接收第一服务节点发送的下线请求,从注册列表中删除第一服务节点的地址信息;服务注册设备向网关设备发送更新的注册列表,用于指示网关设备根据所述更新的注册列表更新所述网关设备保存的缓存列表;服务注册设备向服务控制设备发送消息,用于指示所述服务控制设备已从注册列表中删除所述第一服务节点的地址信息。9.根据权利要求8所述的方法,其特征在于,所述服务注册设备向服务控制设备发送消息包括:所述服务注册设备向服务控制设备发送包含注册列表的消息;其中,所述消息是所述服务注册设备在接收到服务控制设备发送的列表请求后发送的,或者,所述消息是服务注册设备在接收到第一服务节点发送的下线请求并从注册列表中删除所述第一服务节点的地址信息后发送的;或者,所述服务注册设备向服务控制设备发送包含第一服务节点标识的确认消息,所述确认消息用于指示所述服务控制设备已从注册列表中删除所述第一服务节点的地址信息。10.一种基于微服务架构的服务下线方法,其特征在于,应用于网关设备,所述网关设备与服务控制设备、服务注册设备以及各服务节点通信连接,所述方法包括:网关设备接收服务注册设备发送...

【专利技术属性】
技术研发人员:刘伟奇
申请(专利权)人:泰康保险集团股份有限公司
类型:发明
国别省市:北京,11

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

1