一种服务下线方法、装置及存储介质与流程

文档序号:35908096发布日期:2023-10-29 06:38阅读:28来源:国知局
一种服务下线方法、装置及存储介质与流程

本发明涉及计算机软件,尤其涉及一种服务下线方法、装置、电子设备及存储介质。


背景技术:

1、服务请求通过负载均衡策略路由到实际的服务中进行业务处理,当线上服务需要停机下线时,持续的业务流量会被路由到正在执行停机的服务上,如果强制执行停机,服务会拒绝进行业务处理,会导致用户请求得不到正确响应,影响用户体验。导致该问题存在的根本原因是注册中心与服务会对依赖的服务信息进行缓存,服务虽然开始下线,但缓存更新依然存在时间差,导致错误调用执行停机的服务造成,同时缓存为了平衡性能和时间问题,还无法做到实时更新。

2、目前业内主流的解决方案是通过注册中心下线服务完成后主动通知服务可以执行下线,并调整缩短缓存更新时间的方案,但仍然存在因缓存更新时间差而导致的服务异常概率高的问题。


技术实现思路

1、有鉴于此,本发明实施例提供一种服务下线方法、装置、电子设备及存储介质,能够提高服务的高可用性,降低因服务直接下线带来的服务异常概率。

2、在第一方面,本发明实施例提供一种服务下线方法,应用于服务提供方,包括:

3、向注册中心或流量均衡服务器发送服务下线请求,以使所述注册中心或流量均衡服务器注销所述服务;

4、响应于所述注册中心或流量均衡服务器发送的停机设置请求,将所述服务的服务状态标志设置为停机;

5、判断所述服务是否满足下线条件;

6、若所述服务满足下线条件,则下线所述服务。

7、结合第一方面,在第一方面的第一种实施方式中,所述判断所述服务是否满足下线条件,包括:

8、判断将所述服务的服务状态标志设置为停机后,经过的时间长度是否满足预设时长阈值;

9、若将所述服务的服务状态标志设置为停机后,经过的时间长度满足预设时长阈值,则确定所述服务满足下线条件。

10、结合第一方面,在第一方面的第二种实施方式中,所述判断所述服务是否满足下线条件,包括:

11、将所述服务的服务状态标志设置为停机后,开始记录进入所述服务的流量的时间戳;

12、基于所述时间戳,判断预设时间窗口内进入所述服务的流量是否小于预设流量阈值;

13、若预设时间窗口内进入所述服务的流量小于预设流量阈值,则确定所述服务满足下线条件。

14、结合第一方面的第二种实施方式,在第一方面的第三种实施方式中,所述记录进入所述服务的流量的时间戳,包括:

15、将进入所述服务的流量的时间戳,放入时间戳链表的时间戳节点中;其中,每个时间戳节点包括存放的时间戳、指向前一个时间戳节点的指针地址和指向后一个时间戳节点的指针地址。

16、结合第一方面的第三种实施方式,在第一方面的第四种实施方式中,所述将进入所述服务的流量的时间戳,放入时间戳链表的时间戳节点中,包括:

17、将最新进入所述服务的流量的时间戳,放入时间戳链表中处于队首的一时间戳节点中。

18、结合第一方面的第二种实施方式,在第一方面的第五种实施方式中,所述基于所述时间戳,判断预设时间窗口内进入所述服务的流量是否小于预设流量阈值,包括:

19、基于所述时间戳,判断预设固定时间窗口内或预设滑动时间窗口内进入所述服务的流量是否小于预设流量阈值;

20、其中,所述若预设时间窗口内进入所述服务的流量小于预设流量阈值,则确定所述服务满足下线条件,包括:

21、若预设固定时间窗口内或预设滑动时间窗口内进入所述服务的流量小于预设流量阈值,则确定所述服务满足下线条件。

22、在第二方面,本发明实施例提供一种服务下线装置,应用于服务提供方,包括:

23、下线请求模块,用于向注册中心或流量均衡服务器发送服务下线请求,以使所述注册中心或流量均衡服务器注销所述服务;

24、停机标志设置模块,用于响应于所述注册中心或流量均衡服务器发送的停机设置请求,将所述服务的服务状态标志设置为停机;

25、下线判断模块,用于判断所述服务是否满足下线条件;

26、下线执行模块,用于若所述服务满足下线条件,则下线所述服务。

27、结合第二方面,在第二方面的第一种实施方式中,所述下线判断模块,包括:

28、时长判断单元,用于判断将所述服务的服务状态标志设置为停机后,经过的时间长度是否满足预设时长阈值;若将所述服务的服务状态标志设置为停机后,经过的时间长度满足预设时长阈值,则确定所述服务满足下线条件。

29、结合第二方面,在第二方面的第二种实施方式中,所述下线判断模块,包括:

30、流量记录单元,用于将所述服务的服务状态标志设置为停机后,开始记录进入所述服务的流量的时间戳;

31、流量判断单元,用于基于所述时间戳,判断预设时间窗口内进入所述服务的流量是否小于预设流量阈值;若预设时间窗口内进入所述服务的流量小于预设流量阈值,则确定所述服务满足下线条件。

32、结合第二方面的第二种实施方式,在第二方面的第三种实施方式中,所述流量记录单元用于将进入所述服务的流量的时间戳,放入时间戳链表的时间戳节点中;其中,每个时间戳节点包括存放的时间戳、指向前一个时间戳节点的指针地址和指向后一个时间戳节点的指针地址。

33、结合第二方面的第三种实施方式,在第二方面的第四种实施方式中,所述将进入所述服务的流量的时间戳,放入时间戳链表的时间戳节点中,包括:

34、将最新进入所述服务的流量的时间戳,放入时间戳链表中处于队首的一时间戳节点中。

35、结合第二方面的第二种实施方式,在第二方面的第五种实施方式中,所述流量判断单元,包括:

36、基于所述时间戳,判断预设固定时间窗口内或预设滑动时间窗口内进入所述服务的流量是否小于预设流量阈值;

37、其中,所述若预设时间窗口内进入所述服务的流量小于预设流量阈值,则确定所述服务满足下线条件,包括:

38、若预设固定时间窗口内或预设滑动时间窗口内进入所述服务的流量小于预设流量阈值,则确定所述服务满足下线条件。

39、在第三方面,本发明实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行本发明的前述任一实施例提供的服务下线方法。

40、在第二方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现本发明的前述任一实施例提供的服务下线方法。

41、本发明的实施例提供的服务下线方法、装置、电子设备及存储介质,在要下线的服务下线前,向注册中心或流量均衡服务器发送服务下线请求,并响应于所述注册中心或流量均衡服务器发送的停机设置请求,将所述服务的服务状态标志设置为停机后,只有当所述服务满足下线条件时,再下线所述服务。这样,就在服务请求下线和服务真正下线中间留存了缓冲时间,因此提高了服务的高可用性,降低了因服务直接下线带来的服务异常概率。

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