基于探针交易的服务状态更新方法和装置制造方法及图纸

技术编号:33922318 阅读:18 留言:0更新日期:2022-06-25 21:13
本公开提供了一种基于探针交易的服务状态更新方法,可以应用于客户端。该方法具体包括:获取服务清单,所述服务清单预先配置在所述客户端中;根据所述服务清单定时调用探针交易轮询服务端;接收各服务端返回的服务状态码信息,所述服务状态码信息用于表征各服务的状态以及所述各服务对应的数据库状态;以及根据所述服务状态码信息更新所述服务清单。本公开还提供了一种由基于探针交易的服务状态更新装置、设备、存储介质和程序产品。存储介质和程序产品。存储介质和程序产品。

【技术实现步骤摘要】
基于探针交易的服务状态更新方法和装置


[0001]本公开涉及服务架构
,更具体地涉及一种基于探针交易的服务状态更新方法、装置、设备、存储介质和程序产品。

技术介绍

[0002]软件架构体系设计时,需要考虑服务器的注册及服务发现,以达到服务器集群高可用的目的。
[0003]在实际的应用过程中,会独立创建服务注册集群,例如SpringCloud采用的Eureka实现方式中,不仅需要考虑服务注册集群的高可用,还需要占用大量的服务器资源。注册方出现数据库故障、应用服务器未出现故障时,注册服务器无法及时识别,剔除服务,进而影响服务调用方体验;当注册服务器宕机时,只能通过客户端缓存模式来获取服务注册信息,不能获取最新的服务注册状态。

技术实现思路

[0004]鉴于上述问题,本公开提供了基于探针交易的服务状态更新方法、装置、设备、介质和程序产品。
[0005]根据本公开的第一个方面,提供了一种基于探针交易的服务状态更新方法,应用于客户端,包括:
[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]图1示意性示出了根据本公开实施例的基于探针交易的服务状态更新方法的应用场景图;
[0031]图2示意性示出了根据本公开实施例的基于探针交易的服务状态更新方法的流程图;
[0032]图3示意性示出了根据本公开实施例的调用探针交易的方法的流程图;
[0033]图4示意性示出了根据本公开实施例的服务清单更新方法的流程图;
[0034]图5示意性示出了根据本公开实施例的基于探针交易的服务状态更新装置的结构框图;以及
[0035]图6示意性示出了根据本公开实施例的适于实现基于探针交易的服务状态更新方法的电子设备的方框图。
具体实施方式
[0036]以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免
不必要地混淆本公开的概念。
[0037]在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
[0038]在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
[0039]在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
[0040]在软件架构体系设计时,需要考虑服务器的注册及服务发现,以达到服务器集群高可用的目的,但在实际的应用过程中,以SpringCloud采用的Eureka实现方式为例,Eureka server需要集群模式独立部署维护,只有一个服务注册中心,不符合高可用的原则,实现高可用就需要增加Eureka server的数量,导致维护成本过高;如果Eureka server服务集群全部宕机则只能通过客户端的缓存模式来获取服务注册信息,不能获取最新的服务注册状态;因为网络问题(例如心跳慢被剔除)而被剔除出去的服务器本身是“健康”的,只是因为网络分割故障把Eureka集群分割成了本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于探针交易的服务状态更新方法,应用于客户端,其特征在于,包括:获取服务清单,所述服务清单预先配置在所述客户端中;根据所述服务清单定时调用探针交易轮询服务端;接收各服务端返回的服务状态码信息,所述服务状态码信息用于表征各服务的状态以及所述各服务对应的数据库状态;以及根据所述服务状态码信息更新所述服务清单。2.根据权利要求1所述的方法,其特征在于,所述服务清单包括服务名、服务地址和服务状态信息,所述根据所述服务清单定时调用探针交易轮询服务端包括:获取各服务的服务地址;以及根据所述各服务的服务地址调用探针交易。3.根据权利要求1所述的方法,其特征在于,所述根据所述服务状态码信息更新所述服务清单包括:根据所述服务状态码信息确定所述各服务的当前服务状态;以及根据所述当前服务状态更新所述服务清单。4.根据权利要求3所述的方法,其特征在于,所述各服务的当前服务状态包括可用状态和不可用状态,所述根据所述服务状态码信息确定所述各服务的当前服务状态包括:根据所述服务状态码信息确定服务异常类型;以及若确定存在所述服务异常类型,则确定当前服务状态为不...

【专利技术属性】
技术研发人员:董亮陶晖谢雨王京花齐珑余化
申请(专利权)人:中国建设银行股份有限公司
类型:发明
国别省市:

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

1