CN111737028B - Dubbo服务检测方法及装置 - Google Patents

Dubbo服务检测方法及装置 Download PDF

Info

Publication number
CN111737028B
CN111737028B CN202010546105.2A CN202010546105A CN111737028B CN 111737028 B CN111737028 B CN 111737028B CN 202010546105 A CN202010546105 A CN 202010546105A CN 111737028 B CN111737028 B CN 111737028B
Authority
CN
China
Prior art keywords
dubbo service
service provider
dubbo
transaction data
status
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010546105.2A
Other languages
English (en)
Other versions
CN111737028A (zh
Inventor
王同庆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bank of China Ltd
Original Assignee
Bank of China Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bank of China Ltd filed Critical Bank of China Ltd
Priority to CN202010546105.2A priority Critical patent/CN111737028B/zh
Publication of CN111737028A publication Critical patent/CN111737028A/zh
Application granted granted Critical
Publication of CN111737028B publication Critical patent/CN111737028B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/543Local

Abstract

本发明公开了一种Dubbo服务检测方法及装置,其中该方法包括:接收交易数据,确定处理所述交易数据的目标Dubbo服务提供方;从预先存储Dubbo服务提供方的状态的本地缓存数据库中查询当前目标Dubbo服务提供方的状态,其中,Dubbo服务提供方的状态包括可用和不可用;从状态为可用的目标Dubbo服务提供方中选择任意一个Dubbo服务提供方作为指定Dubbo服务提供方,调用Dubbo服务消费方将交易数据路由至指定Dubbo服务提供方。本发明可以减少交易等待及客户等待的情况,提升客户体验,同时减少因信息系统调用Dubbo服务消费方进行通信而占用的CPU和内存。

Description

Dubbo服务检测方法及装置
技术领域
本发明涉及Dubbo服务检测技术领域,尤其涉及一种Dubbo服务检测方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
在国产化战略的要求下,企业将运行于RS/6000服务器的信息系统迁移到X86/linux环境,在X86/linux环境下,信息系统采用Dubbo架构来实现其功能。具体的,由Dubbo服务消费方接收交易数据,之后Dubbo服务消费方将交易数据传送至Dubbo服务提供方对交易数据进行处理,之后Dubbo服务提供方将处理后的交易数据反馈给Dubbo服务消费方,这样也就完成了一次交易数据的处理过程。
由于X86/linux环境的计算机配置较低,容易发生故障,X86/linux环境下信息系统的可用性比RS/6000环境低,需要有一个Dubbo服务检测程序,来判断X86/linux环境的Dubbo服务提供方是否可用,并在X86/linux环境的Dubbo服务提供方可用时,将交易路由到X86/linux环境的信息系统,在X86/linux环境的Dubbo服务提供方不可用时,将交易路由到RS/6000环境的信息系统。
参见图1,目前信息系统调用Dubbo服务的流程如下所示:
1、当接收到交易数据,信息系统调用Dubbo服务消费方。
2、Dubbo服务消费方读取本地缓存中的远程服务列表,根据软负载均衡算法选择一个Dubbo服务提供方进行远程服务调用,如果调用失败则选择列表中的另一个Dubbo服务提供方进行调用。
3、Dubbo服务消费方与Dubbo服务提供方建立长连接,每隔一秒钟向Dubbo服务提供方发送心跳消息。
4、Dubbo服务提供方可用,Dubbo服务提供方将处理后的交易数据返回给Dubbo服务消费方,并保持与Dubbo服务消费方的长连接,每隔一秒钟向Dubbo服务消费方发送反馈消息。
5、Dubbo服务提供方产生故障,不可用时,断开与Dubbo服务消费方的长连接。
6、Dubbo服务消费方没有收到Dubbo服务提供方的反馈消息,连续重新发送心跳消息3次,如果未收到Dubbo服务提供方的反馈消息,就换一个Dubbo服务提供方,并建立新的长连接。
7、Dubbo服务消费方将远程服务列表中的Dubbo服务提供方都尝试连接了一遍,都没有可用的Dubbo服务提供方,就抛出系统异常。
8、信息系统在某一个Dubbo服务提供方产生故障,或者所有的Dubbo服务提供方不可用期间,等待Dubbo服务消费方反馈连接结果。
9、信息系统捕获到Dubbo服务消费方抛出的系统异常,得知Dubbo服务提供方不可用,如果客户已经取消交易,交易停止;如果客户还在等待,将交易路由到RS/6000环境的信息系统,完成交易。
从上面的交易流程可知,在Dubbo服务提供方不可用时,Dubbo服务消费方会每隔1秒钟,连续三次尝试和Dubbo服务提供方建立连接,连续三次连接失败后会抛出异常,信息系统在在每次调用Dubbo服务提供方时,都会等待三秒以上,然后捕获异常,信息系统只能通过捕获异常得知Dubbo服务提供方不可用,上述过程会引起大面积的交易等待,信息系统的可用性降低;在信息系统调用Dubbo服务提供方至捕获异常期间,客户会在3秒钟以上时间看不到反馈,造成客户长时间等待,降低了客户体验。同时,信息系统大面积调用Dubbo服务消费方进行通信会占用信息系统的CPU和内存,导致信息系统性能降低。
发明内容
本发明实施例提供一种Dubbo服务检测方法,用以减少交易等待及客户等待的情况,提升客户体验,同时减少因信息系统调用Dubbo服务消费方进行通信而占用的CPU和内存,该方法包括:
接收交易数据,确定处理所述交易数据的目标Dubbo服务提供方;
每隔设定时间,从Dubbo服务注册中心获取每个Dubbo服务提供方的状态;以<键值,数据值>的形式,将Dubbo服务提供方的状态存储在本地缓存数据库中;
从预先存储Dubbo服务提供方的状态的本地缓存数据库中查询当前目标Dubbo服务提供方的状态,其中,Dubbo服务提供方的状态包括可用和不可用;
从预先存储Dubbo服务提供方的状态的本地缓存数据库中查询当前目标Dubbo服务提供方的状态,包括:以Dubbo服务提供方的名字为键值,从本地缓存数据库中查询Dubbo服务提供方的状态;
从状态为可用的目标Dubbo服务提供方中选择任意一个Dubbo服务提供方作为指定Dubbo服务提供方,调用Dubbo服务消费方将交易数据路由至指定Dubbo服务提供方;
如果所有的目标Dubbo服务提供方的状态均为不可用,根据预设处理规则将交易数据路由至RS/6000环境的信息系统进行处理,或不处理所述交易数据;预设处理规则为当所有目标Dubbo服务提供方均不可用,直接将交易数据路由至RS/6000环境的信息系统进行处理;或者,在确认所有目标Dubbo服务提供方均不可用之前,客户已取消交易,则不处理交易数据,如果客户未取消交易,则将交易数据路由至RS/6000环境的信息系统进行处理。
本发明实施例还提供一种Dubbo服务检测装置,用以减少交易等待及客户等待的情况,提升客户体验,同时减少因信息系统调用Dubbo服务消费方进行通信而占用的CPU和内存,该装置包括:
通信模块,用于接收交易数据,确定处理所述交易数据的目标Dubbo服务提供方;
获取模块,用于每隔设定时间,从Dubbo服务注册中心获取每个Dubbo服务提供方的状态;
存储模块,用于以<键值,数据值>的形式,将Dubbo服务提供方的状态存储在本地缓存数据库中;
查询模块,用于从预先存储Dubbo服务提供方的状态的本地缓存数据库中查询当前通信模块确定的目标Dubbo服务提供方的状态,其中,Dubbo服务提供方的状态包括可用和不可用;
查询模块,具体用于以Dubbo服务提供方的名字为键值,从本地缓存数据库中查询Dubbo服务提供方的状态;
路由模块,用于从查询模块查询到的状态为可用的目标Dubbo服务提供方中选择任意一个Dubbo服务提供方作为指定Dubbo服务提供方,调用Dubbo服务消费方将交易数据路由至指定Dubbo服务提供方;
路由模块,还用于当所有的目标Dubbo服务提供方的状态均为不可用,根据预设处理规则将交易数据路由至RS/6000环境的信息系统进行处理,或不处理所述交易数据;预设处理规则为当所有目标Dubbo服务提供方均不可用,直接将交易数据路由至RS/6000环境的信息系统进行处理;或者,在确认所有目标Dubbo服务提供方均不可用之前,客户已取消交易,则不处理交易数据,如果客户未取消交易,则将交易数据路由至RS/6000环境的信息系统进行处理。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述Dubbo服务检测方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述Dubbo服务检测方法的计算机程序。
本发明实施例中,将Dubbo服务提供方是否可用的状态信息存储在本地缓存数据库中,当需要调用Dubbo服务提供方完成时交易数据处理过程时,先到本地缓存数据库中查询所需调用的Dubbo服务提供方的状态,从而提前判断X86/linux环境下信息系统的Dubbo服务提供方是否可用,并根据Dubbo服务提供方是否可用来进行交易信息的路由。与现有技术中,信息系统在接收到交易数据之后通过发送心跳信息的方法测试Dubbo服务提供方是否可用,需要等待三秒以上得到不可用结果相比,本发明中在本地缓存数据库中查询Dubbo服务提供方的状态仅需要很短时间,从而消除了大面积的交易等待,提高了信息系统的可用性,同时缩减了客户等待时间,提升了客户体验;并且,减少了调用Dubbo服务消费方的进行通信的次数,降低了CPU和内存的消耗,提高了信息系统性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为现有技术中一种信息系统调用Dubbo服务的流程图;
图2为现有技术中一种Dubbo系统架构图;
图3为本发明实施例中一种Dubbo服务检测方法的流程图;
图4为本发明实施例中一种Dubbo服务检测装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
下面先对现有技术中,X86/linux环境下信息系统采用的Dubbo架构进行介绍。
Dubbo是在面向服务的结构(Service-Oriented Architecture,SOA)架构阶段的一个远程服务调用框架,参见图2,Dubbo系统分为五个部分:远程服务运行容器(Container),Dubbo服务提供方(Provider)、Dubbo服务注册中心(Register)、Dubbo服务消费方(Consumer)和监控中心(Monitor)。其中,Dubbo服务提供方在远程服务运行容器中启动并运行。
Dubbo服务提供方将自己提供的服务及自身状态注册到Dubbo服务注册中心,Dubbo服务消费方启动后向Dubbo服务注册中心订阅它想要调用的服务。Dubbo服务注册中心存储着Dubbo服务提供方注册的远程服务,并将其所管理的远程服务列表通知给服务消费方,且Dubbo服务注册中心和Dubbo服务提供方和Dubbo服务消费方之间均保持长连接,可以获取Dubbo服务提供方发布的服务的变化情况,并将最新的服务列表变更通知给Dubbo服务消费方。
Dubbo服务消费方根据从Dubbo服务注册中心获的远程服务列表,保存在本地缓存中,根据软负载均衡算法选择一个Dubbo服务提供方进行远程服务调用,如果调用失败则选择另一台Dubbo服务提供方进行调用。
监控中心对服务的发布和订阅进行监控,并统计Dubbo服务消费方和Dubbo服务提供方,Dubbo服务消费方和Dubbo服务提供方定时每分钟发送一次统计数据到监控中心,以供监控中心在内存中累计调用次数和调用时间。
基于上述当前信息系统采用的Dubbo架构,本发明实施例中一种Dubbo服务检测方法,如图3所示,该方法包括步骤301至步骤303:
步骤301、接收交易数据,确定处理交易数据的目标Dubbo服务提供方。
不同的Dubbo服务提供方执行相同或不同的交易处理,比如说,有一个或几个Dubbo服务提供方处理转账的交易数据,另外一个或几个Dubbo服务提供方处理签署合同的交易数据,还有Dubbo服务提供方处理储蓄的交易数据等。因此,信息系统在接收到交易数据之后,需要先确定处理该部分交易数据的目标Dubbo服务提供方,以便于针对性的调用Dubbo服务提供方。
具体的,Dubbo服务消费方可以根据远程服务列表中查询Dubbo服务提供方提供的服务,Dubbo服务提供方提供的服务也即Dubbo服务提供方可处理的交易,确定目标Dubbo服务提供方。
步骤302、从预先存储Dubbo服务提供方的状态的本地缓存数据库中查询当前目标Dubbo服务提供方的状态。
其中,Dubbo服务提供方的状态包括可用和不可用。
由于Dubbo服务消费方与Dubbo服务注册中心之间保持连接状态,在从预先存储Dubbo服务提供方的状态的本地缓存数据库中查询当前目标Dubbo服务提供方的状态之前,每隔设定时间访问Dubbo服务注册中心,从Dubbo服务注册中心获取每个Dubbo服务提供方的状态;将每个Dubbo服务提供方的名称及该Dubbo服务提供方的状态的对应关系存储至本地缓存数据库中。这样Dubbo服务消费方可以直接从本地缓存数据库中查询目标Dubbo服务提供方的状态,该查询过程仅需要10ms左右,与需要发送心跳消息测试Dubbo服务提供方的状态相比,显然从本地缓存数据库中查询Dubbo服务提供方的状态所耗费的时间更短。
设定时间可以由用户进行设定,一般将其设定在3秒之内。
每隔设定时间,Dubbo服务消费方从Dubbo服务注册中心获取到Dubbo服务提供方的状态之后,以<键值,数据值>的形式,也即<Dubbo服务提供方名称,是否可用>的形式将Dubbo服务提供方的状态存储在本地缓存数据库中。当确定目标Dubbo服务提供方之后,Dubbo服务消费方可以以Dubbo服务提供方的名字为<键值>,从本地缓存数据库中查询Dubbo服务提供方的状态。
在本申请实施例的一种实现方式中,如果所有的目标Dubbo服务提供方的状态均为不可用,则根据预设处理规则将交易数据路由至RS/6000环境的信息系统进行处理,或不处理交易数据。
预设处理规则为当所有Dubbo服务提供方的状态均为不可用时,对交易数据的处理方法,该预设处理规则由用户进行设置。比如说,该预设处理规则可以为,当所有目标Dubbo服务提供方均不可用时,直接将交易数据路由至RS/6000环境的信息系统进行处理;或者,该预设处理规则还可以为,在确认所有目标Dubbo服务提供方均不可用之前,客户已取消交易,则不处理交易数据,如果客户未取消交易,则将交易数据路由至RS/6000环境的信息系统进行处理。
步骤303、从状态为可用的目标Dubbo服务提供方中选择任意一个Dubbo服务提供方作为指定Dubbo服务提供方,调用Dubbo服务消费方将交易数据路由至指定Dubbo服务提供方。
在调用Dubbo服务消费方将交易数据路由至指定Dubbo服务提供方之后,如果在指定时间内未收到指定Dubbo服务提供方对于交易数据的反馈信息,则从除指定Dubbo服务提供方外状态为可用的目标Dubbo服务提供方中选择新的指定Dubbo服务提供方;调用Dubbo服务消费方将交易数据路由至新的指定Dubbo服务提供方。
考虑到可能存在Dubbo服务提供方突然发生故障,本地缓存数据库中存储的Dubbo服务提供方的状态还没有来得及更新的情况,或者其他原因,如Dubbo服务消费方与Dubbo服务注册中心之间的发生连接故障导致本地缓存数据库中存储的Dubbo服务提供方状态不能及时更新的情况,此时Dubbo服务消费方选择的指定Dubbo服务提供方可以处理不可用状态,无法接收并处理交易数据,Dubbo服务消费方等待指定时间,如果指定时间内无法接收到Dubbo服务提供方对于交易数据的反馈信息,则Dubbo服务消费方重新选择一个可用的Dubbo服务提供方作为指定Dubbo服务提供方处理交易数据。
本发明实施例中,将Dubbo服务提供方是否可用的状态信息存储在本地缓存数据库中,当需要调用Dubbo服务提供方完成时交易数据处理过程时,先到本地缓存数据库中查询所需调用的Dubbo服务提供方的状态,从而提前判断X86/linux环境下信息系统的Dubbo服务提供方是否可用,并根据Dubbo服务提供方是否可用来进行交易信息的路由。与现有技术中,信息系统在接收到交易数据之后通过发送心跳信息的方法测试Dubbo服务提供方是否可用,需要等待三秒以上得到不可用结果相比,本发明中在本地缓存数据库中查询Dubbo服务提供方的状态仅需要很短时间,从而消除了大面积的交易等待,提高了信息系统的可用性,同时缩减了客户等待时间,提升了客户体验;并且,减少了调用Dubbo服务消费方的进行通信的次数,降低了CPU和内存的消耗,提高了信息系统性能。
本发明实施例中还提供了一种Dubbo服务检测装置,如下面的实施例所述。由于该装置解决问题的原理与Dubbo服务检测方法相似,因此该装置的实施可以参见Dubbo服务检测方法的实施,重复之处不再赘述。
如图4所示,该Dubbo服务检测装置包括通信模块401、查询模块402和路由模块403。
通信模块401,用于接收交易数据,确定处理交易数据的目标Dubbo服务提供方。
查询模块402,用于从预先存储Dubbo服务提供方的状态的本地缓存数据库中查询当前通信模块401确定的目标Dubbo服务提供方的状态,其中,Dubbo服务提供方的状态包括可用和不可用。
路由模块403,用于从查询模块402查询到的状态为可用的目标Dubbo服务提供方中选择任意一个Dubbo服务提供方作为指定Dubbo服务提供方,调用Dubbo服务消费方将交易数据路由至指定Dubbo服务提供方。
在本申请实施例的一种实现方式中,装置400还包括:
获取模块404,用于每隔设定时间访问Dubbo服务注册中心,从Dubbo服务注册中心获取每个Dubbo服务提供方的状态。
存储模块405,用于将每个Dubbo服务提供方的名称及获取模块404获取到的该Dubbo服务提供方的状态的对应关系存储至本地缓存数据库中。
在本申请实施例的一种实现方式中,路由模块403,还用于:
当在指定时间内未收到指定Dubbo服务提供方对于交易数据的反馈信息时,从除指定Dubbo服务提供方外状态为可用的目标Dubbo服务提供方中选择新的指定Dubbo服务提供方;
调用Dubbo服务消费方将交易数据路由至新的指定Dubbo服务提供方。
在本申请实施例的一种实现方式中,路由模块403,还用于:
当所有的目标Dubbo服务提供方的状态均为不可用时,根据预设处理规则将交易数据路由至RS/6000环境的信息系统进行处理,或不处理交易数据。
本发明实施例中,将Dubbo服务提供方是否可用的状态信息存储在本地缓存数据库中,当需要调用Dubbo服务提供方完成时交易数据处理过程时,先到本地缓存数据库中查询所需调用的Dubbo服务提供方的状态,从而提前判断X86/linux环境下信息系统的Dubbo服务提供方是否可用,并根据Dubbo服务提供方是否可用来进行交易信息的路由。与现有技术中,信息系统在接收到交易数据之后通过发送心跳信息的方法测试Dubbo服务提供方是否可用,需要等待三秒以上得到不可用结果相比,本发明中在本地缓存数据库中查询Dubbo服务提供方的状态仅需要很短时间,从而消除了大面积的交易等待,提高了信息系统的可用性,同时缩减了客户等待时间,提升了客户体验;并且,减少了调用Dubbo服务消费方的进行通信的次数,降低了CPU和内存的消耗,提高了信息系统性能。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述Dubbo服务检测方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述Dubbo服务检测方法的计算机程序。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种Dubbo服务检测方法,其特征在于,所述方法包括:
接收交易数据,确定处理所述交易数据的目标Dubbo服务提供方;
每隔设定时间,从Dubbo服务注册中心获取每个Dubbo服务提供方的状态;以<键值,数据值>的形式,将Dubbo服务提供方的状态存储在本地缓存数据库中;
从预先存储Dubbo服务提供方的状态的本地缓存数据库中查询当前目标Dubbo服务提供方的状态,其中,Dubbo服务提供方的状态包括可用和不可用;
从预先存储Dubbo服务提供方的状态的本地缓存数据库中查询当前目标Dubbo服务提供方的状态,包括:以Dubbo服务提供方的名字为键值,从本地缓存数据库中查询Dubbo服务提供方的状态;
从状态为可用的目标Dubbo服务提供方中选择任意一个Dubbo服务提供方作为指定Dubbo服务提供方,调用Dubbo服务消费方将交易数据路由至指定Dubbo服务提供方;
如果所有的目标Dubbo服务提供方的状态均为不可用,根据预设处理规则将交易数据路由至RS/6000环境的信息系统进行处理,或不处理所述交易数据;预设处理规则为当所有目标Dubbo服务提供方均不可用,直接将交易数据路由至RS/6000环境的信息系统进行处理;或者,在确认所有目标Dubbo服务提供方均不可用之前,客户已取消交易,则不处理交易数据,如果客户未取消交易,则将交易数据路由至RS/6000环境的信息系统进行处理。
2.根据权利要求1所述的方法,其特征在于,在从预先存储Dubbo服务提供方的状态的本地缓存数据库中查询当前目标Dubbo服务提供方的状态之前,所述方法还包括:
每隔设定时间访问Dubbo服务注册中心,从Dubbo服务注册中心获取每个Dubbo服务提供方的状态;
将每个Dubbo服务提供方的名称及该Dubbo服务提供方的状态的对应关系存储至本地缓存数据库中。
3.根据权利要求1所述的方法,其特征在于,在调用Dubbo服务消费方将交易数据路由至指定Dubbo服务提供方之后,所述方法包括:
如果在指定时间内未收到指定Dubbo服务提供方对于所述交易数据的反馈信息,则从除指定Dubbo服务提供方外状态为可用的目标Dubbo服务提供方中选择新的指定Dubbo服务提供方;
调用Dubbo服务消费方将交易数据路由至新的指定Dubbo服务提供方。
4.一种Dubbo服务检测装置,其特征在于,所述装置包括:
通信模块,用于接收交易数据,确定处理所述交易数据的目标Dubbo服务提供方;
获取模块,用于每隔设定时间,从Dubbo服务注册中心获取每个Dubbo服务提供方的状态;
存储模块,用于以<键值,数据值>的形式,将Dubbo服务提供方的状态存储在本地缓存数据库中;
查询模块,用于从预先存储Dubbo服务提供方的状态的本地缓存数据库中查询当前通信模块确定的目标Dubbo服务提供方的状态,其中,Dubbo服务提供方的状态包括可用和不可用;
查询模块,具体用于以Dubbo服务提供方的名字为键值,从本地缓存数据库中查询Dubbo服务提供方的状态;
路由模块,用于从查询模块查询到的状态为可用的目标Dubbo服务提供方中选择任意一个Dubbo服务提供方作为指定Dubbo服务提供方,调用Dubbo服务消费方将交易数据路由至指定Dubbo服务提供方;
路由模块,还用于当所有的目标Dubbo服务提供方的状态均为不可用,根据预设处理规则将交易数据路由至RS/6000环境的信息系统进行处理,或不处理所述交易数据;预设处理规则为当所有目标Dubbo服务提供方均不可用,直接将交易数据路由至RS/6000环境的信息系统进行处理;或者,在确认所有目标Dubbo服务提供方均不可用之前,客户已取消交易,则不处理交易数据,如果客户未取消交易,则将交易数据路由至RS/6000环境的信息系统进行处理。
5.根据权利要求4所述的装置,其特征在于,获取模块,具体用于每隔设定时间访问Dubbo服务注册中心,从Dubbo服务注册中心获取每个Dubbo服务提供方的状态;
存储模块,具体用于将每个Dubbo服务提供方的名称及获取模块获取到的该Dubbo服务提供方的状态的对应关系存储至本地缓存数据库中。
6.根据权利要求4所述的装置,其特征在于,路由模块,还用于:
当在指定时间内未收到指定Dubbo服务提供方对于所述交易数据的反馈信息时,从除指定Dubbo服务提供方外状态为可用的目标Dubbo服务提供方中选择新的指定Dubbo服务提供方;
调用Dubbo服务消费方将交易数据路由至新的指定Dubbo服务提供方。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至3任一所述方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至3任一所述方法。
CN202010546105.2A 2020-06-16 2020-06-16 Dubbo服务检测方法及装置 Active CN111737028B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010546105.2A CN111737028B (zh) 2020-06-16 2020-06-16 Dubbo服务检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010546105.2A CN111737028B (zh) 2020-06-16 2020-06-16 Dubbo服务检测方法及装置

Publications (2)

Publication Number Publication Date
CN111737028A CN111737028A (zh) 2020-10-02
CN111737028B true CN111737028B (zh) 2024-02-23

Family

ID=72649347

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010546105.2A Active CN111737028B (zh) 2020-06-16 2020-06-16 Dubbo服务检测方法及装置

Country Status (1)

Country Link
CN (1) CN111737028B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113377680A (zh) * 2021-07-14 2021-09-10 中国工商银行股份有限公司 Dubbo服务测试系统及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018090544A1 (zh) * 2016-11-15 2018-05-24 平安科技(深圳)有限公司 DoS/DDoS攻击检测方法和装置、服务器和存储介质
CN108965461A (zh) * 2018-08-03 2018-12-07 华数传媒网络有限公司 服务治理方法、装置及dubbo服务系统
CN110990047A (zh) * 2019-11-06 2020-04-10 北京云思畅想科技有限公司 用于多个微服务架构的融合方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018090544A1 (zh) * 2016-11-15 2018-05-24 平安科技(深圳)有限公司 DoS/DDoS攻击检测方法和装置、服务器和存储介质
CN108965461A (zh) * 2018-08-03 2018-12-07 华数传媒网络有限公司 服务治理方法、装置及dubbo服务系统
CN110990047A (zh) * 2019-11-06 2020-04-10 北京云思畅想科技有限公司 用于多个微服务架构的融合方法及装置

Also Published As

Publication number Publication date
CN111737028A (zh) 2020-10-02

Similar Documents

Publication Publication Date Title
CN109981716B (zh) 一种微服务调用方法及装置
WO2017185961A1 (zh) 一种服务发现的处理方法及装置
US20090328054A1 (en) Adapting message delivery assignments with hashing and mapping techniques
CN112534776A (zh) 用于在网络环境中检测网络功能失败和重启的方法及装置
US10924326B2 (en) Method and system for clustered real-time correlation of trace data fragments describing distributed transaction executions
CN111857998A (zh) 一种可配置的定时任务调度方法及系统
CN111737028B (zh) Dubbo服务检测方法及装置
US20080313349A1 (en) Connecting a client to one of a plurality of servers
CN111078238A (zh) 容器环境下应用配置集中处理方法及装置
US7289989B2 (en) Pattern based web services
CN113364885B (zh) 微服务调用方法、装置、电子设备和可读存储介质
CN113810474A (zh) 一种请求的分流方法及终端
KR101301447B1 (ko) 독립적인 메시지 저장소 및 메시지 전송 에이전트
CN115065686B (zh) 分布式负载均衡系统的配置方法、装置及系统
CN109729062B (zh) 加密服务器的上线方法和代理服务器
CN105656929B (zh) 一种服务调用方法、装置及系统
CN115834668B (zh) 集群节点控制方法、装置、设备、存储介质和程序产品
CN109274533B (zh) 一种基于规则引擎的Web服务故障的定位装置和方法
CN102023997A (zh) 一种数据查询系统及其构建方法与相应的数据查询方法
CN111522664A (zh) 基于分布式服务的服务资源管控方法及装置
CN113364892B (zh) 跨多集群服务的域名解析方法、相关方法、装置和系统
JP2000047890A (ja) 分散オブジェクト管理システムとそのオブジェクト選択方法およびその処理プログラムを記録した記録媒体
CN113094074A (zh) 一种服务集群的更新方法及装置
US8549537B2 (en) Middleware bridge system and method
KR101648568B1 (ko) 분산된 객체를 클러스터링하여 하나의 객체처럼 활용하는 방법 및 이를 사용한 분산 시스템

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant