一种微服务探活注册方法及装置制造方法及图纸

技术编号:38754678 阅读:8 留言:0更新日期:2023-09-10 09:39
本说明书涉及云计算技术领域,提供了一种微服务探活注册方法及装置。该方法包括:接收目标微服务探活请求;根据所述探活请求调用目标微服务的寄存状态;通过所述探活请求对目标微服务进行探活,以获取目标微服务探活状态;利用所述探活状态和所述寄存状态确定目标微服务状态;若所述目标微服务状态为宕机转存活状态,则在微服务注册中心注册当前目标微服务。通过本说明书实施例,可实现在不接入SDK的前提下,将微服务组件适配到各种微服务体系且在微服务组件上下线时不出现错误,避免流量有损的问题,提高开发效率、降低人力成本。降低人力成本。降低人力成本。

【技术实现步骤摘要】
一种微服务探活注册方法及装置


[0001]本说明书涉及云计算
,尤其是涉及一种微服务探活注册方法及装置。

技术介绍

[0002]微服务(或称微服务架构)是一种云原生架构方法,在单个应用中包含众多松散耦合而且可单独部署的小型组件或服务,微服务可以在不触及整个应用的情况下添加新的功能或特性,更轻松地更新代码,还可以针对不同的组件使用不同的技术栈和不同的编程语言,组件可以相互独立地扩展,从而减少与必须扩展整个应用相关的浪费和成本(因为单个功能可能面临过多的负载)。
[0003]微服务与单体架构之间的区别在于,微服务由许多松散耦合的小型服务组成单个应用,而不是紧密耦合的大型应用的单体方法。然而,微服务也意味着更大的管理复杂性,在微服务架构下,服务提供方(Provider)的节点一般不止一个,消费方(Consumer)根据负载均衡算法(将负载或工作任务分配到多个服务器上执行的技术)挑选一个健康的节点进行调用,健康的节点指能正常响应消费方请求的节点,不健康的节点是不能正常响应消费方请求的节点,不健康的原因可能是物理上的断电、断网、硬件故障,也可能是网络延迟、进程异常退出或进程无法处理请求,但总的来说就是服务提供方的节点没有摘除流量前就无法处理请求了。
[0004]只有确定服务提供方的节点是健康还是不健康,才能确保微服务系统正常处理请求,因此需要对服务提供方的节点进行探活。现有的各大微服务框架和服务治理框架,如Spring Cloud、K8S等,都提供有对微服务组件的存活状态探测功能,但是仅仅对微服务组件的存活状态进行探测,在一些微服务组件上线或者下线时的业务场景下是有问题的,例如对于一个需要初始化功能的微服务组件,在所有的初始化动作未完成的时候,如果有流量过来,除了流量有损的问题,该微服务组件还不能正常被访问,可能导致用户对整个微服务系统的体验都受影响。
[0005]此外,主流的微服务框架,如Spring Cloud,为了保证微服务系统的正常运行,需要集成对原生服务有侵入性的SDK以实现微服务注册与探活,具有开发复杂度高、开发效率低、人力成本高的缺点,因此亟需一种微服务探活注册方法,能够实现在不接入SDK的前提下,将微服务组件适配到各种微服务体系且在微服务组件上下线时不出现错误,避免流量有损的问题,提高开发效率、降低人力成本。

技术实现思路

[0006]鉴于目前微服务注册与探活,具有开发复杂度高、开发效率低、人力成本高的缺点,提出了本方案以便克服上述问题或者至少部分地解决上述问题。
[0007]一方面,本说明书的一些实施例的目的在于提供一种微服务探活注册方法,所述方法包括:接收目标微服务探活请求;
[0008]根据所述探活请求调用目标微服务的寄存状态;
[0009]通过所述探活请求对目标微服务进行探活,以获取目标微服务探活状态;
[0010]利用所述探活状态和所述寄存状态确定目标微服务状态;
[0011]若所述目标微服务状态为宕机转存活状态,则在微服务注册中心注册当前目标微服务。
[0012]进一步地,所述寄存状态和所述目标微服务状态均包括宕机状态、存活状态、宕机转存活状态以及存活转宕机状态。
[0013]进一步地,所述通过所述探活请求对目标微服务进行探活,以获取目标微服务探活状态,包括:
[0014]通过所述探活请求向所述目标微服务以第一时间间隔循环发送探测信息;
[0015]根据所述目标微服务在第一时间周期内是否应答所述探测信息以确定所述目标微服务的探活状态。
[0016]进一步地,所述根据所述目标微服务在第一时间周期内是否应答所述探测信息确定对应的探活状态,包括:
[0017]若所述目标微服务在所述第一时间周期内全部应答所述探测信息,则所述探活状态为存活状态;
[0018]若未全部应答,则所述探活状态为宕机状态。
[0019]进一步地,利用所述探活状态和所述寄存状态确定目标微服务状态,包括:
[0020]若所述探活状态为存活状态且所述寄存状态不为宕机状态,则所述目标微服务状态为存活状态;
[0021]若所述探活状态为存活状态且所述寄存状态为宕机状态,则所述目标微服务状态为宕机转存活状态;
[0022]若所述探活状态为宕机状态且所述寄存状态不为存活状态,则所述目标微服务状态为宕机状态;
[0023]若所述探活状态为宕机状态且所述寄存状态为存活状态,则对所述目标微服务进行探活重试。
[0024]进一步地,所述若所述探活状态为宕机状态且所述寄存状态为存活状态,则对所述目标微服务进行探活重试,包括:
[0025]记录第一时间周期内所述目标微服务的探测信息发送次数和应答次数;
[0026]根据所述发送次数和所述应答次数计算所述目标微服务的宕机率;
[0027]若所述宕机率小于第一阈值,则向当前目标微服务以第二时间间隔循环发送探测信息;
[0028]判断当前目标微服务是否在第二时间周期内全部应答所述探测信息;
[0029]若当前目标微服务在第二时间周期内全部应答所述探测信息,则所述探活状态为存活状态,当前目标微服务状态为存活状态;
[0030]若当前目标微服务在第二时间周期内未全部应答所述探测信息,则所述探活状态为宕机状态,当前目标微服务状态为存活转宕机状态。
[0031]进一步地,若所述宕机率不小于第一阈值,则所述探活状态仍为宕机状态,当前目标微服务状态为存活转宕机状态。
[0032]进一步地,若所述目标微服务状态为宕机转存活状态,则在微服务注册中心注册
当前目标微服务,包括:
[0033]接收注册请求;
[0034]根据所述注册请求将所述目标微服务的微服务信息写入到所述微服务注册中心。
[0035]进一步地,通过所述探活请求对目标微服务进行探活时采用TCP协议或HTTP协议进行通信。
[0036]进一步地,若所述目标微服务状态为宕机转存活状态,则在微服务注册中心注册当前目标微服务,进一步包括,若所述目标微服务状态为存活转宕机状态,则在所述微服务注册中心注销当前目标微服务。
[0037]进一步地,若所述目标微服务状态为存活转宕机状态,则在所述微服务注册中心注销当前目标微服务,包括:
[0038]接收注销请求;
[0039]获取所述注销请求对应的注销时间点;
[0040]确定从所述注销时间点起,经第三时间间隔后的注销时间区间;
[0041]在所述注销时间区间内注销所述微服务注册中心中当前目标微服务。
[0042]另一方面,本说明书的一些实施例还提供一种微服务探活注册装置,所述装置包括:
[0043]接收模块,用于接收目标微服务探活请求;
[0044]调用模块,用于根据所述探活请求调用目标微服务的寄存状态;
[0045]探活模块,用于通过所述探活请求对目标微服务进行探活,以获取目标微服务探活状态;
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种微服务探活注册方法,其特征在于,所述方法包括:接收目标微服务探活请求;根据所述探活请求调用目标微服务的寄存状态;通过所述探活请求对目标微服务进行探活,以获取目标微服务探活状态;利用所述探活状态和所述寄存状态确定目标微服务状态;若所述目标微服务状态为宕机转存活状态,则在微服务注册中心注册当前目标微服务。2.根据权利要求1所述的方法,其特征在于,所述寄存状态和所述目标微服务状态均包括宕机状态、存活状态、宕机转存活状态以及存活转宕机状态。3.根据权利要求1所述的方法,其特征在于,所述通过所述探活请求对目标微服务进行探活,以获取目标微服务探活状态,包括:通过所述探活请求向所述目标微服务以第一时间间隔循环发送探测信息;根据所述目标微服务在第一时间周期内是否应答所述探测信息以确定所述目标微服务的探活状态。4.根据权利要求3所述的方法,其特征在于,所述根据所述目标微服务在第一时间周期内是否应答所述探测信息确定对应的探活状态,包括:若所述目标微服务在所述第一时间周期内全部应答所述探测信息,则所述探活状态为存活状态;若未全部应答,则所述探活状态为宕机状态。5.根据权利要求1所述的方法,其特征在于,利用所述探活状态和所述寄存状态确定目标微服务状态,包括:若所述探活状态为存活状态且所述寄存状态不为宕机状态,则所述目标微服务状态为存活状态;若所述探活状态为存活状态且所述寄存状态为宕机状态,则所述目标微服务状态为宕机转存活状态;若所述探活状态为宕机状态且所述寄存状态不为存活状态,则所述目标微服务状态为宕机状态;若所述探活状态为宕机状态且所述寄存状态为存活状态,则对所述目标微服务进行探活重试。6.根据权利要求5所述的方法,其特征在于,所述若所述探活状态为宕机状态且所述寄存状态为存活状态,则对所述目标微服务进行探活重试,包括:记录第一时间周期内所述目标微服务的探测信息发送次数和应答次数;根据所述发送次数和所述应答次数计算所述目标微服务的宕机率;若所述宕机率小于第一阈值,则向当前目标微服务以第二时间间隔循环发送探测信息;判断当前目标微服务是否在第二时间周期内全部应答所述探测信息;若当前目标微服务在第二时间周期内全部应答所述探测信息,则所述探活状态为存活状态,当前目标微服务状态为存活状态;若当前目标微服务在第二时间周期内未全部应答所述探测信息,则所述探活状态为宕

【专利技术属性】
技术研发人员:叶志远吴磊刘东东
申请(专利权)人:建信金融科技有限责任公司
类型:发明
国别省市:

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

1