CN117331675A - 一种微服务中优雅启停的方法 - Google Patents
一种微服务中优雅启停的方法 Download PDFInfo
- Publication number
- CN117331675A CN117331675A CN202311587459.1A CN202311587459A CN117331675A CN 117331675 A CN117331675 A CN 117331675A CN 202311587459 A CN202311587459 A CN 202311587459A CN 117331675 A CN117331675 A CN 117331675A
- Authority
- CN
- China
- Prior art keywords
- graceful
- stop
- service
- time
- gracefully
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000000737 periodic effect Effects 0.000 claims abstract description 20
- 238000012544 monitoring process Methods 0.000 claims abstract description 12
- 238000010586 diagram Methods 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/544—Remote
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种微服务中优雅启停的方法,包括设置配置信息和等待时间后优雅启动或停止;屏蔽自动将服务发布至注册中心的能力;创建周期性线程池,监听应用是否启动成功,若启动成功则记录开始时间戳;周期性执行判断当前时间是否满足优雅启动的等待时间;满足优雅启动的等待时间时调用主动暴露服务的函数将服务发布至注册中心,销毁周期性任务线程池;统计目前在途的请求数量,判断当前应用实例是否还存在在途请求,若满足优雅停止的判断逻辑,则取消注册中心中该应用的所有服务。本发明解决了应用未完全启动成功时服务器对外暴露服务导致调用失败的情况,解决了仍有部分请求流量在执行中时,旧应用被强制结束进程而导致调用失败的情况。
Description
技术领域
本发明属于服务器技术领域,具体涉及一种微服务中优雅启停的方法。
背景技术
在软件发布的过程中,需要将旧的应用实例停止,启动新的应用实例,从而实现软件的发布。也可以先将新的应用实例启动,再将停止旧的应用实例。但两种方式在实施时都会出现真实用户的请求调用失败的情况。
在目前行业所使用的绝大部分启停方式,存在以下几个技术问题:(1)当新应用未完全成功启动时,RPC服务器已经对外暴露至注册中心,上游服务器或网关从注册中心发现RPC服务器的新地址后,直接将新的请求流量负载至还未完全启动的RPC服务器中,导致部分新应用服务调用失败;(2)当部分请求流量在旧应用中继续执行时,旧应用被命令强制结束进程,这部分请求流量会被判定为失败返回给用户,给用户带来不好的体验效果。
发明内容
本发明提供一种微服务中优雅启停的方法,以解决上述技术问题。
为实现上述目的,本发明采用的技术方案如下:
一种微服务中优雅启停的方法,包括:
步骤1、设置是否优雅启动的配置信息和优雅启动的等待时间,启用优雅启动;
步骤2、屏蔽自动将服务发布至注册中心的能力;
步骤3、创建只有一个线程的周期性线程池,设置线程池的执行周期;
步骤4、监听优雅启动是否成功,当优雅启动成功事件到达时,记录优雅启动成功时的开始时间戳;
步骤5、基于线程池的执行周期判断当前时间是否满足优雅启动的等待时间,直到满足优雅启动的等待时间进入步骤6;
步骤6、手动将服务发布至注册中心,取消周期性线程池。
进一步地,所述步骤1中,优雅启动的等待时间为三十秒。
进一步地,所述步骤2包括:步骤2.1、配置Dubbo中指定暴露服务方式的相关配置参数,屏蔽当前应用自动将Dubbo服务接口注册至注册中心;步骤2.2、继承Dubbo的后端调用信息项服务配置类;步骤2.3、提供手动暴露服务方法的接口,内部直接调用后端调用信息项服务配置类中执行暴露的方法。
进一步地,所述步骤3中,执行周期为一秒。
进一步地,所述步骤4中,扩展监听SpringBoot中的启动成功事件,收到启动成功事件后定义一个Boolean类型的参数设置为True作为启动成功的标记,并记录此时的时间戳作为启动成功的时间。
进一步地,所述步骤5中,在每个执行周期用当前时间减去开始时间戳得到开始时间差,如果开始时间差小于优雅启动的等待时间则等待下一个周期,如果开始时间差大于优雅启动的等待时间则进入步骤6。
进一步地,还包括:
步骤A、设置是否优雅停止的配置信息和优雅停止的超时时间,启用优雅停止;
步骤B、统计当前应用的请求流量;
步骤C、创建只有一个线程的周期性线程池,设置线程池的执行周期;
步骤D、监听请求流量是否已全部执行完成,当请求流量全部执行完成时,记录此时的时间戳为停止时间戳;
步骤E、基于线程池的执行周期进行如下操作:当前应用请求流量不是零时则等待下次执行周期;当前应用请求流量为零时,每个执行周期用当前时间减去停止时间戳得到停止时间差,如果停止时间差小于优雅停止的超时时间则等待下次执行周期;如果停止时间差大于优雅停止的超时时间,则取消注册中心中该应用下的所有服务。
进一步地,所述步骤A中,优雅停止的超时时间为一百二十秒。
进一步地,所述步骤B包括以下过程:通过Dubbo的SPI扩展方式创建自定义的在线流量统计器Filter,监测当前应用是否有新的请求进入,当有新的请求进入时,调用并发安全计数器,将请求流量数加1;监测到请求结束时调用并发安全计数器,将请求流量数减1。
进一步地,所述步骤C中,固定周期为一秒。
与现有技术相比,本发明具有以下有益效果:
本发明优雅启动时先屏蔽自动将服务发布至注册中心的能力,当新应用完全启动之后,才将RPC服务器对外暴露至注册中心接受新的请求流量;本发明能有效地避免应用未完全成功启动时RPC服务器已经对外暴露的情况。本发明优雅停止的方法,实现旧应用内部所有还在处理的请求流量执行完成,即做好各项收尾工作之后,停止旧应用服务。本发明能有效地避免仍有部分请求流量在执行过程中旧应用被强制结束进程的情况。
附图说明
图1为本发明微服务中优雅启停的方法中优雅启动过程示意图。
图2为本发明微服务中优雅启停的方法中优雅停止过程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进一步详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参考图1所示,为本发明提供的一种微服务中优雅启停的方法中优雅启动的流程图,本实施例具体可以包括如下步骤:
步骤1、设置是否优雅启动的配置信息和优雅启动的等待时间,启用优雅启动;具体地,是否优雅启动的配置信息具体为GracefulStart参数,设置GracefulStart参数为是否需要使用优雅启动的开关,当GracefulStart参数为True表示需要启用优雅启动,反之,当GracefulStart参数为False表示直接进入启动,即启动过程中直接对RPC服务器将服务注册至注册中心。
步骤2、屏蔽自动将服务发布至注册中心的能力。
步骤3、创建只有一个线程的周期性线程池,设置线程池的执行周期;具体地,使用JDK周期性线程池ScheduledThreadPoolExecutor创建只有一个线程的周期性线程池;其中,JDK为Java语音的软件开发工具包,主要用于移动设备、嵌入式设备上的Java应用程序,ScheduledThreadPoolExecutor方法为Java中的一个线程池实现,用来给定延时后周期性执行任务。
步骤4、监听优雅启动是否成功,当优雅启动成功事件到达时,记录优雅启动成功时的开始时间戳;
步骤5、基于线程池的执行周期判断当前时间是否满足优雅启动的等待时间,直到满足优雅启动的等待时间进入步骤6;
步骤6、手动将服务发布至注册中心,取消周期性线程池;具体地,当前时间减去开始时间戳的时间差超过优雅启动等待开始时,在周期性任务中调用手动暴露服务方法,把所有Dubbo服务手动注册至注册中心。对外暴露服务成功后,调用周期性线程池的Shutdown()函数,取消该周期性线程池;其中,Shutdown()函数为禁止在一个套接口上进行数据的接收与发送。
本实施例优雅启动时先屏蔽自动将服务发布至注册中心的能力,当新应用完全启动之后,才将RPC服务器对外暴露至注册中心接受新的请求流量;能有效地避免应用未完全成功启动时RPC服务器已经对外暴露的情况。
优选地,所述步骤1中,优雅启动的等待时间为三十秒。所述步骤1中,优雅启动等待开始时间方法为gracefulStartWaitTime,表示当应用成功启动后,暴露服务需要等待的时间。主要用于当应用成功启动后,可能有部分代码还在启动中,并没有成功启动,此时如果对外暴露服务接收流量,则有可能出现请求失败的情况。优雅启动的等待时间具体为,设置优雅启动等待开始时间为30秒,表示当新应用启动成功后,依然需要等待30秒后才能对RPC服务器进行注册操作。
优选地,所述步骤2包括:步骤2.1、配置Dubbo中指定暴露服务方式的相关配置参数,屏蔽当前应用自动将Dubbo服务接口注册至注册中心;步骤2.2、继承Dubbo的后端调用信息项服务配置类;步骤2.3、提供手动暴露服务方法的接口,内部直接调用后端调用信息项服务配置类中执行暴露的方法。其中,所述步骤2.1中,设置Dubbo的指定暴露服务方式的相关配置参数,即设置相关配置参数(dubbo.provider.export)为False。所述步骤2.3中,手动暴露服务方法为manualExport,执行暴露方法为doExport。
优选地,所述步骤3中,执行周期为一秒。
优选地,所述步骤4中,扩展监听SpringBoot中的启动成功事件,收到启动成功事件后定义一个Boolean类型的参数设置为True作为启动成功的标记,并记录此时的时间戳作为启动成功的时间。所述步骤4中,SpringBoot框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。Boolean类型是计算机程序中非常重要的一种数据类型,它的值只有两个,即False或True,在程序中需要声明只包含这两个结果之一的变量时,通常使用Boolean类型。
优选地,所述步骤5中,在每个执行周期用当前时间减去开始时间戳得到开始时间差,如果开始时间差小于优雅启动的等待时间则等待下一个周期,如果开始时间差大于优雅启动的等待时间则进入步骤6。所述步骤5中,基于JDK周期性线程池的执行周期,执行周期的ScheduleWithFixedDelay()函数的执行逻辑为:判断Started是否为True,反之则判断当前时间减去开始时间戳得到的开始时间差是否超过优雅启动等待开始时间,未超过则继续等待下一次执行周期,超过则进入下一个步骤。其中,ScheduleWithFixedDelay()函数为一个定时工具。
参考图2所示,为本发明提供的一种微服务中优雅启停的方法中优雅停止的流程图,本实施例具体可以包括如下步骤:
步骤A、设置是否优雅停止的配置信息和优雅停止的超时时间,启用优雅停止;具体地,是否优雅停止的配置信息具体为GracefulStop参数,设置GracefulStop参数为是否需要优雅停止的开关,当GracefulStop参数为True时表示需要启用优雅停止,反之,当GracefulStop参数为False时表示直接强制停止应用。
步骤B、统计当前应用的请求流量;具体地,基于Dubbo的Filter扩展方式实现对当前应用请求流量的数量体积统计,具体方法为,通过Dubbo创建自定义的Filter接口,并在invike()方法中使用try-finally方式进行当前请求流量统计,计数器使用JDK中并发安全计数器(AtomicLong型),基于Dubbo的Filter扩展用来记录服务调用日志和服务调用链追踪。AtomicLong保证并发情况下技术的准确性,并发安全计数器用于收集数据,线程同步。
步骤C、创建只有一个线程的周期性线程池,设置线程池的执行周期;具体地,使用JDK周期性线程池ScheduledThreadPoolExecutor创建只有一个线程的周期性线程池。
步骤D、监听请求流量是否已全部执行完成,当请求流量全部执行完成时,记录此时的时间戳为停止时间戳;
步骤E、基于线程池的执行周期进行如下操作:当前应用请求流量不是零时则等待下次执行周期;当前应用请求流量为零时,每个执行周期用当前时间减去停止时间戳得到停止时间差,如果停止时间差小于优雅停止的超时时间则等待下次执行周期;如果停止时间差大于优雅停止的超时时间,则取消注册中心中该应用下的所有服务;具体地,基于JDK周期性线程池的执行周期,执行周期的ScheduleWithFixedDelay()函数的执行逻辑为,判断当前请求流量是否为零,不是则等待下一次执行周期,当前请求流量为零时,判断当前时间减去停止时间戳得到的停止时间差是否超过优雅停止超时时间,未超过则等待下一次执行周期,超过则强停止应用服务。
本实施例优雅停止的方法,实现旧应用内部所有还在处理的请求流量执行完成,即做好各项收尾工作之后,停止旧应用服务;能有效地避免仍有部分请求流量在执行过程中旧应用被强制结束进程的情况。
优选地,所述步骤A中,优雅停止的超时时间为一百二十秒。所述步骤A中,设置优雅停止的最大超时时间(GracefulStopMaxTime)为一百二十秒,表示超过优雅停止超时时间会强制停止应用。其中,GracefulStopMaxTime表示优雅停止允许的最大等待处理周期,主要是用于防止出现无限等待停止的情况发生。
优选地,所述步骤B包括以下过程:通过Dubbo的SPI扩展方式创建自定义的在线流量统计器Filter,监测当前应用是否有新的请求进入,当有新的请求进入时,调用并发安全计数器,将请求流量数加1;监测到请求结束时调用并发安全计数器,将请求流量数减1。所述步骤B中,在线流量统计器Filter的作用为实现Filter接口,重写invoke函数方法,当有新的请求进入时通过调用并发安全计数器中的incrementAndGet()方法实现请求数加1,当有请求执行完成或者因异常而结束时,调用并发安全计数器中的decrementAndGet()方法实现请求数减1;incrementAndGet()方法为Java中的一种内置方法,该方法在一个无限循环内不断尝试将一个比当前值增加1的新值赋给自己;其中,decrementAndGet()方法为Java中的一种内置方法,该方法在一个无限循环内不断尝试将一个比当前值减少1的新值赋给自己。
优选地,所述步骤C中,固定周期为一秒。
最后应说明的是:以上各实施例仅仅为本发明的较优实施例用以说明本发明的技术方案,而非对其限制,当然更不是限制本发明的专利范围;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围;也就是说,但凡在本发明的主体设计思想和精神上作出的毫无实质意义的改动或润色,其所解决的技术问题仍然与本发明一致的,均应当包含在本发明的保护范围之内;另外,将本发明的技术方案直接或间接的运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种微服务中优雅启停的方法,其特征在于,包括:
步骤1、设置是否优雅启动的配置信息和优雅启动的等待时间,启用优雅启动;
步骤2、屏蔽自动将服务发布至注册中心的能力;
步骤3、创建只有一个线程的周期性线程池,设置线程池的执行周期;
步骤4、监听优雅启动是否成功,当优雅启动成功事件到达时,记录优雅启动成功时的开始时间戳;
步骤5、基于线程池的执行周期判断当前时间是否满足优雅启动的等待时间,直到满足优雅启动的等待时间进入步骤6;
步骤6、手动将服务发布至注册中心,取消周期性线程池。
2.根据权利要求1所述的一种微服务中优雅启停的方法,其特征在于,所述步骤1中,优雅启动的等待时间为三十秒。
3.根据权利要求1所述的一种微服务中优雅启停的方法,其特征在于,所述步骤2包括:步骤2.1、配置Dubbo中指定暴露服务方式的相关配置参数,屏蔽当前应用自动将Dubbo服务接口注册至注册中心;步骤2.2、继承Dubbo的后端调用信息项服务配置类;步骤2.3、提供手动暴露服务方法的接口,内部直接调用后端调用信息项服务配置类中执行暴露的方法。
4.根据权利要求1所述的一种微服务中优雅启停的方法,其特征在于,所述步骤3中,执行周期为一秒。
5.根据权利要求1所述的一种微服务中优雅启停的方法,其特征在于,所述步骤4中,扩展监听SpringBoot中的启动成功事件,收到启动成功事件后定义一个Boolean类型的参数设置为True作为启动成功的标记,并记录此时的时间戳作为启动成功的时间。
6.根据权利要求1所述的一种微服务中优雅启停的方法,其特征在于,所述步骤5中,在每个执行周期用当前时间减去开始时间戳得到开始时间差,如果开始时间差小于优雅启动的等待时间则等待下一个周期,如果开始时间差大于优雅启动的等待时间则进入步骤6。
7.根据权利要求1所述的一种微服务中优雅启停的方法,其特征在于,还包括:
步骤A、设置是否优雅停止的配置信息和优雅停止的超时时间,启用优雅停止;
步骤B、统计当前应用的请求流量;
步骤C、创建只有一个线程的周期性线程池,设置线程池的执行周期;
步骤D、监听请求流量是否已全部执行完成,当请求流量全部执行完成时,记录此时的时间戳为停止时间戳;
步骤E、基于线程池的执行周期进行如下操作:当前应用请求流量不是零时则等待下次执行周期;当前应用请求流量为零时,每个执行周期用当前时间减去停止时间戳得到停止时间差,如果停止时间差小于优雅停止的超时时间则等待下次执行周期;如果停止时间差大于优雅停止的超时时间,则取消注册中心中该应用下的所有服务。
8.根据权利要求7所述的一种微服务中优雅启停的方法,其特征在于,所述步骤A中,优雅停止的超时时间为一百二十秒。
9.根据权利要求7所述的一种微服务中优雅启停的方法,其特征在于,所述步骤B包括以下过程:通过Dubbo的SPI扩展方式创建自定义的在线流量统计器Filter,监测当前应用是否有新的请求进入,当有新的请求进入时,调用并发安全计数器,将请求流量数加1;监测到请求结束时调用并发安全计数器,将请求流量数减1。
10.根据权利要求7所述的一种微服务中优雅启停的方法,其特征在于,所述步骤C中,固定周期为一秒。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311587459.1A CN117331675B (zh) | 2023-11-27 | 2023-11-27 | 一种微服务中优雅启停的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311587459.1A CN117331675B (zh) | 2023-11-27 | 2023-11-27 | 一种微服务中优雅启停的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117331675A true CN117331675A (zh) | 2024-01-02 |
CN117331675B CN117331675B (zh) | 2024-03-26 |
Family
ID=89283367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311587459.1A Active CN117331675B (zh) | 2023-11-27 | 2023-11-27 | 一种微服务中优雅启停的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117331675B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020107854A1 (en) * | 2001-02-08 | 2002-08-08 | Internaional Business Machines Corporation | Method and system for managing lock contention in a computer system |
CN108055248A (zh) * | 2017-11-30 | 2018-05-18 | 平安科技(深圳)有限公司 | 基于dubbo框架的远程调用方法、服务器及存储介质 |
CN111488201A (zh) * | 2020-06-28 | 2020-08-04 | 浙江网新恒天软件有限公司 | 一种微服务的部署和运行方法 |
CN112311603A (zh) * | 2020-10-30 | 2021-02-02 | 上海中通吉网络技术有限公司 | 一种动态更改Spark用户配置的方法、装置及其系统 |
CN114237833A (zh) * | 2021-12-16 | 2022-03-25 | 富盛科技股份有限公司 | 一种高性能实时一致的微服务执行方法及系统 |
CN114371943A (zh) * | 2021-12-28 | 2022-04-19 | 上海国民集团健康科技有限公司 | 基于微服务架构的优雅发布方法及其装置、设备和介质 |
CN116455951A (zh) * | 2023-06-19 | 2023-07-18 | 云筑信息科技(成都)有限公司 | 一种基于动态规则实现多租户服务rpc隔离的调用方法 |
-
2023
- 2023-11-27 CN CN202311587459.1A patent/CN117331675B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020107854A1 (en) * | 2001-02-08 | 2002-08-08 | Internaional Business Machines Corporation | Method and system for managing lock contention in a computer system |
CN108055248A (zh) * | 2017-11-30 | 2018-05-18 | 平安科技(深圳)有限公司 | 基于dubbo框架的远程调用方法、服务器及存储介质 |
CN111488201A (zh) * | 2020-06-28 | 2020-08-04 | 浙江网新恒天软件有限公司 | 一种微服务的部署和运行方法 |
CN112311603A (zh) * | 2020-10-30 | 2021-02-02 | 上海中通吉网络技术有限公司 | 一种动态更改Spark用户配置的方法、装置及其系统 |
CN114237833A (zh) * | 2021-12-16 | 2022-03-25 | 富盛科技股份有限公司 | 一种高性能实时一致的微服务执行方法及系统 |
CN114371943A (zh) * | 2021-12-28 | 2022-04-19 | 上海国民集团健康科技有限公司 | 基于微服务架构的优雅发布方法及其装置、设备和介质 |
CN116455951A (zh) * | 2023-06-19 | 2023-07-18 | 云筑信息科技(成都)有限公司 | 一种基于动态规则实现多租户服务rpc隔离的调用方法 |
Non-Patent Citations (2)
Title |
---|
SHUAI LI 等: "Dubbo\'s serialization protocol extension and optimization of its RPC protocol thrift", 《2017 8TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND SERVICE SCIENCE (ICSESS)》, pages 721 - 726 * |
李海燕 等: "基于微服务架构的机构学者库平台设计与实现", 《现代信息科技》, pages 10 - 13 * |
Also Published As
Publication number | Publication date |
---|---|
CN117331675B (zh) | 2024-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7519960B2 (en) | Method and system for debugging business process flow | |
US9053240B2 (en) | Computer program testing | |
US9535768B2 (en) | Managing multi-threaded operations in a multimedia authoring environment | |
US8001429B2 (en) | Method and system for automated handling of errors in execution of system management flows consisting of system management tasks | |
WO2017070894A1 (zh) | 基于终端的唤醒锁控制方法、装置及终端 | |
US20220214916A1 (en) | Efficient worker utilization | |
US20040199927A1 (en) | Enhanced runtime hosting | |
US10795906B1 (en) | Transaction tracking | |
US8327375B2 (en) | System and method for supporting resource enlistment synchronization | |
US20090125366A1 (en) | Method and system for dynamic adaptation of workflows | |
JP6369170B2 (ja) | 実行時間推定装置及び方法 | |
CN111369350B (zh) | 冲正交易处理方法及装置 | |
US6892331B2 (en) | Method and system for error detection in a managed application environment | |
JP2004199330A (ja) | 情報処理装置、トレース処理方法、プログラム及び記録媒体 | |
US20040210590A1 (en) | Method for protection against interleaving transactions using a transaction manager | |
CN102833120B (zh) | 一种快速自动化测试中处理网管服务器异常的方法及系统 | |
CN111507676A (zh) | 业务订单流程创建和实现方法、装置、存储介质和系统 | |
CN117331675B (zh) | 一种微服务中优雅启停的方法 | |
CN115658246A (zh) | 调度引擎中间件数据处理方法 | |
US20060101475A1 (en) | System and method for parallel asynchronous execution of commands | |
JP3548030B2 (ja) | サーバ処理装置及びサーバ処理方法 | |
Franke et al. | Reverse engineering and testing service life cycles of mobile platforms | |
CN114879942B (zh) | 分布式时间轮分组注册的校验方法、装置、介质和设备 | |
JP2004094374A (ja) | ロギングシステム | |
CN113112217B (zh) | 一种业务流程配置方法、装置、电子设备及计算机可读介质 |
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 |