CN116662267A - 一种基于云原生的分布式应用快照系统和快照创建方法 - Google Patents
一种基于云原生的分布式应用快照系统和快照创建方法 Download PDFInfo
- Publication number
- CN116662267A CN116662267A CN202310964271.8A CN202310964271A CN116662267A CN 116662267 A CN116662267 A CN 116662267A CN 202310964271 A CN202310964271 A CN 202310964271A CN 116662267 A CN116662267 A CN 116662267A
- Authority
- CN
- China
- Prior art keywords
- snapshot
- micro
- service
- distributed application
- creation request
- 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 47
- 238000003860 storage Methods 0.000 claims abstract description 46
- 238000004590 computer program Methods 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 15
- 238000012790 confirmation Methods 0.000 claims description 6
- 230000001960 triggered effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/128—Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Abstract
本发明提供一种基于云原生的分布式应用快照系统和快照创建方法,系统包括:分布式应用管理模块,用于根据分布式应用的配置信息创建分布式应用,分布式应用由多个微服务组成;快照管理模块,用于根据快照创建请求与每个微服务快照代理模块交互,触发每个微服务快照代理模块分别为对应的微服务创建相应的快照;微服务快照代理模块,用于接收快照创建请求;发送快照创建请求给微服务创建快照;当微服务完成快照创建后,将微服务的快照存储到快照后端存储模块,向其子微服务发送快照创建请求,以及向快照管理模块发送快照创建成功的消息;快照后端存储模块,用于存储多个微服务的快照。该系统能够为云原生场景下的分布式应用创建一致性快照。
Description
技术领域
本发明涉及云原生的分布式应用领域,具体涉及一种基于云原生的分布式应用快照系统和快照创建方法。
背景技术
云原生快照系统以单个微服务工作负载实例为单元进行处理,传统的分布式应用一致性快照系统往往针对的是微服务的实例数是固定的场景。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:现有的技术方案要么是无法处理云原生场景下微服务可弹性伸缩的场景,要么是无法为分布式应用提供一致性快照。
发明内容
有鉴于此,本发明实施例的目的在于提供一种基于云原生的分布式应用快照系统和快照创建方法,以解决背景技术中的上述问题,通过基于云原生的分布式应用快照系统和快照创建方法,为云原生场景下的分布式应用创建一致性快照。
第一方面,本发明实施例提供了一种基于云原生的分布式应用快照系统,所述系统包括:
分布式应用管理模块,用于获取分布式应用的配置信息,根据所述分布式应用的配置信息创建分布式应用,所述分布式应用由多个微服务组成,每个微服务存在至少一个实例,每个实例中微服务快照代理模块以边车容器的方式与微服务部署在一起;
快照管理模块,用于接收快照创建请求,根据所述快照创建请求与每个微服务快照代理模块交互,触发每个微服务快照代理模块分别对应的微服务创建相应的快照;
微服务快照代理模块,用于接收所述快照管理模块以及父微服务发送的快照创建请求;当满足预设条件时发送快照创建请求给当前微服务容器,触发当前微服务容器创建快照;当所述当前微服务容器创建完成快照后,所述微服务快照代理模块将创建的快照存储到快照后端存储模块;向子微服务发送快照创建请求,以及向所述快照管理模块发送当前微服务的快照创建成功的消息;
快照后端存储模块,用于存储分布式应用中的多个微服务的快照。
在一些可能的实施方式中,所述快照后端存储模块,具体用于采用对象存储的方式作为所述分布式应用的快照的后端存储;所述分布式应用的配置信息包括多个微服务配置信息,每个所述微服务配置信息包括:微服务名字、微服务实例数、父微服务列表和微服务实例对应的快照代理容器地址列表。
在一些可能的实施方式中,所述快照管理模块,具体包括:
接收单元,用于接收快照创建请求;
判断处理单元,用于判断分布式应用的状态;如果分布式应用正在执行快照,则创建快照失败;如果分布式应用没有正在执行快照,则在快照后端存储模块中创建快照存储的路径,更新分布式应用的状态为正在执行快照,以及创建快照对象;
快照创建请求发送单元,用于获取分布式应用的配置信息,根据分布式应用的配置信息,向分布式应用的每个实例中的微服务对应的微服务快照代理模块发送创建快照的命令;
确认单元,用于当收到每个实例中的微服务对应的微服务快照代理模块发送的创建成功消息后,确认分布式应用的快照创建成功。
在一些可能的实施方式中,
所述接收单元,具体用于接收第一快照创建请求,所述第一快照创建请求中包括:分布式应用的名字和快照时间;
所述快照创建请求发送单元,具体用于根据所述分布式应用的名字,获取分布式应用的配置信息,所述分布式应用的配置信息包括多个微服务配置信息;通过遍历每个微服务配置信息中的微服务实例对应的快照代理容器地址列表,将分布式应用的名字、快照时间和分布式应用的配置信息组成第二快照创建请求,并且将所述第二快照创建请求发送给分布式应用的每个微服务实例对应的快照代理容器;
所述确认单元,具体用于收集来自微服务实例中的快照代理容器发送的快照完成消息,当每个微服务收到的消息数等于每个父微服务列表对应的微服务实例数时,表示该微服务完成快照,当所有的微服务都完成快照后,更新快照状态信息以表示快照创建成功,以及更新分布式应用的状态信息。
在一些可能的实施方式中,所述微服务快照代理模块,具体用于:
接收所述第二快照创建请求,提取所述第二快照创建请求中的快照时间作为当前微服务的快照时间,以及提取分布式应用的配置信息中的当前微服务配置信息;
判断微服务配置信息中的父微服务列表是否为空;
如果为空,则直接给微服务容器发送命令创建快照,等待微服务容器创建快照;
如果微服务配置信息中的父微服务列表不为空,计算需要接收的父微服务传递下来的总快照创建请求数;
记录接收到来自父微服务的快照创建请求数;
当微服务接收到来自父微服务的快照创建请求时,判断父微服务的快照时间是否与当前微服务的快照时间相同;
如果两个快照时间不相同,表示这个快照创建请求是错误的,应当丢弃;
如果两个快照时间相同,则表示接收到了一个父微服务传递下来的合法的快照创建请求,将来自父微服务的快照创建请求数加1;
当来自父微服务的快照创建请求数等于总快照创建请求数时,给微服务容器发送命令创建快照,等待微服务容器创建快照;
在微服务容器完成快照创建后,将快照存储到快照后端存储模块的指定路径;
遍历分布式应用的配置信息中的每个微服务配置信息;
判断微服务配置信息中的父微服务列表是否包含当前微服务名字;
如果该微服务配置信息中的父微服务列表中包含当前微服务名字,表示该微服务为当前微服务的子微服务,则遍历子微服务的快照代理容器地址列表,将快照创建请求发送给子微服务实例的快照代理容器;
向所述快照管理模块发送当前微服务快照创建完成的消息。
在一些可能的实施方式中,所述微服务快照代理模块,具体用于:
通过如下方式计算需要接收的父微服务传递下来的总快照创建请求数:
遍历父微服务列表,获取每个父微服务列表对应的微服务实例数,累加所有父微服务列表对应的微服务实例数得到总快照创建请求数。
第二方面,提供一种基于云原生的分布式应用快照创建方法,所述方法包括:
接收快照创建请求;
当满足预设条件时,发送快照创建请求给当前微服务创建快照;
当所述当前微服务创建完成快照后,将所述当前微服务的快照存储到快照后端存储模块;
向所述当前微服务的子微服务发送快照创建请求;
向快照管理模块发送所述当前微服务的快照创建成功的消息。
在一些可能的实施方式中,所述的接收快照创建请求,具体包括:
从快照管理模块接收第二快照创建请求,提取所述第二快照创建请求中的快照时间作为当前微服务的快照时间,以及提取分布式应用的配置信息中的当前微服务的配置信息;其中,所述第二快照创建请求中包括分布式应用的名字、快照时间和分布式应用的配置信息;所述第二快照创建请求是所述快照管理模块根据第一快照请求生成的,所述第一快照创建请求中包括:分布式应用的名字和快照时间;
所述的当满足预设条件时,发送快照创建请求给微服务创建快照,具体包括:
判断微服务的配置信息中的父微服务列表是否为空;
如果为空,则直接给微服务容器发送命令创建快照,等待微服务容器创建快照;
如果微服务的配置信息中的父微服务列表不为空,计算需要接收的父微服务传递下来的总快照创建请求数;
记录接收到来自父微服务的快照创建请求数;
当微服务接收到来自父微服务的快照创建请求时,判断父微服务的快照时间是否与当前微服务的快照时间相同;
如果两个快照时间不相等,表示这个快照创建请求是错误的,应当丢弃;
如果两个快照时间相同,则表示接收到了一个父微服务传递下来的合法的快照创建请求,将来自父微服务的快照创建请求数加1;
当来自父微服务的快照创建请求数等于总快照创建请求数时,给微服务容器发送命令创建快照,等待微服务容器创建快照;
所述的向所述当前微服务的子微服务发送快照创建请求,具体包括:
遍历分布式应用的配置信息中的每个微服务配置信息;
判断微服务配置信息中的父微服务列表是否包含当前微服务名字;
如果该微服务配置信息中的父微服务列表中包含当前微服务名字,表示该微服务为当前微服务的子微服务,则遍历子微服务的快照代理容器地址列表,将快照创建请求发送给子微服务实例的快照代理容器。
第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第二方面中的任意一种基于云原生的分布式应用快照创建方法。
第四方面,提供一种计算机设备,其包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现第二方面中的任意一种基于云原生的分布式应用快照创建方法。
上述技术方案具有如下有益效果:本发明实施例通过基于云原生的分布式应用快照系统,为云原生场景下由弹性伸缩的多个微服务组成的分布式应用提供一致性的快照。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的快照系统的逻辑功能框图;
图2是本发明实施例的快照系统整体的快照创建流程图;
图3是本发明实施例的云原生分布式应用示例图;
图4是本发明实施例的快照代理容器的整体处理流程图;
图5是本发明实施例的快照代理容器的具体详细处理流程图;
图6是本发明实施例的计算机可读存储介质的功能框图;
图7是本发明实施例的计算机设备的功能框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在云计算尤其是云原生场景下,越来越多的应用从原来的单一架构的单体应用转变为微服务架构的分布式应用,一个分布式应用往往包含若干个处理不同任务的微服务。在云原生分布式应用场景下,各微服务之间的关系可能存在着业务上先后关系。为了适应不同的工作负载,分布式应用内处理某个任务微服务的实例数是往往可以弹性伸缩的。现有的云原生快照系统以单个微服务实例为单元进行处理,无法适用于各位服务之间存在着业务上的先后关系,即无法达到一致性快照。现有分布式应用一致性快照系统往往针对的是微服务的实例数是固定的场景,无法处理云原生场景下微服务可弹性伸缩的场景。
本发明实施例通过基于云原生的分布式应用快照系统,为云原生场景下由弹性伸缩的多个微服务组成的分布式应用提供一致性的快照。
如图1所示,本发明实施例基于云原生的分布式应用一致性快照系统包括:分布式应用管理模块、快照管理模块、微服务快照代理模块(即图1中的快照代理容器)、快照后端存储模块。
快照后端存储模块,用于存储分布式应用快照具体内容,采用对象存储来作为快照的后端存储,对于特定的应用,在特定时间点所创建的快照,本系统会将快照数据存储到后端存储的特定快照目录。
微服务快照代理模块,作为一个边车容器,与应用的业务微服务部署在一起,用于接收来自快照管理模块以及父微服务发送过来的快照创建请求。当满足一定条件之后用于发送快照创建请求给当前微服务容器创建快照。当该当前微服务容器快照创建完成后,微服务快照代理模块用于将创建的微服务的快照存储到快照后端存储模块的相应位置,向其子微服务发送快照创建请求。以及最后向快照管理模块发送当前微服务创建成功的消息。
快照管理模块,用于管理快照的创建和删除等工作,支持手动的触发为应用创建快照,也支持定时的触发为分布式应用创建快照。创建快照时,快照管理模块具体用于首先去快照后端存储模块为当前分布式应用的快照创建存储路径;然后根据分布式应用的配置信息,向分布式应用的每个微服务对应的边车容器(即微服务快照代理模块)发送创建快照的命令。当收到每个实例中的微服务对应的微服务快照代理模块发送的创建成功消息后,表示应用快照创建成功。
分布式应用管理模块,用于管理分布式应用。云原生分布式应用由多个处理单个任务的微服务组成,每个微服务存在1个或多个实例。一般的分布式应用中各微服务之间存在的业务上的前后依赖关系,为了标注这些前后依赖关系,在各微服务配置信息中包含父微服务(parentServices)信息的配置。例如:B依赖于A,即B的父微服务(parentServices)为A;C依赖于B,即C的父微服务(parentServices)为A和B。云原生分布式应用部署完成后,由用户将分布式应用的配置信息(appConfig)发送给分布式应用管理模块来进行统一管理。具体的配置信息(appConfig)包括多个微服务配置信息(microServiceConfig),每个微服务配置信息包括:微服务名字(serviceName), 微服务实例数(scale),父微服务列表(parentServices),微服务实例对应的快照代理地址列表(agentAddresses)。
在一些实施例中,快照管理模块,具体包括:接收单元,用于接收快照创建请求;判断处理单元,用于判断分布式应用的状态;如果分布式应用正在执行快照,则创建快照失败;如果分布式应用没有正在执行快照,则在该快照后端存储模块中创建快照存储的路径,更新分布式应用的状态为正在执行快照,以及创建快照对象;快照创建请求发送单元,用于获取分布式应用的配置信息,根据分布式应用的配置信息,向分布式应用的每个实例中的微服务对应的微服务快照代理模块发送创建快照的命令;确认单元,用于当收到每个实例中的微服务对应的微服务快照代理模块发送的创建成功消息后,确认分布式应用的快照创建成功。
在一些实施例中,接收单元,具体用于接收第一快照创建请求,第一快照创建请求中包括:分布式应用的名字和快照时间;快照创建请求发送单元,具体用于根据分布式应用的名字,获取分布式应用的配置信息;通过遍历每个微服务配置信息中的微服务实例对应的快照代理容器地址列表,将分布式应用的名字、快照时间和分布式应用的配置信息组成第二快照创建请求,并且将第二快照创建请求发送给分布式应用的每个微服务实例对应的快照代理容器;确认单元,具体用于收集来自微服务实例中的快照代理容器发送的快照完成消息,当每个微服务收到的消息数等于每个父微服务对应的微服务实例数之和时,表示该微服务完成快照,当所有的微服务都完成快照后,更新快照状态信息以表示快照创建成功,以及更新分布式应用的状态信息。
在一些实施例中,微服务快照代理模块,具体用于:
接收第二快照创建请求,提取第二快照创建请求中的快照时间作为当前微服务的快照时间,以及提取分布式应用的配置信息中的当前微服务配置信息;
判断微服务配置信息中的父微服务列表是否为空;
如果为空,则直接给微服务容器发送命令创建快照,等待微服务容器创建快照;
如果微服务配置信息中的父微服务列表不为空,计算需要接收的父微服务传递下来的总快照创建请求数;
记录接收到来自父微服务的快照创建请求数;
当微服务接收到来自父微服务的快照创建请求时,判断父微服务的快照时间是否与当前微服务的快照时间相同;
如果两个快照时间不相等,表示这个快照创建请求是错误的,应当丢弃;
如果两个快照时间相同,则表示接收到了一个父微服务传递下来的合法的快照创建请求,将来自父微服务的快照创建请求数加1;
当来自父微服务的快照创建请求数等于总快照创建请求数时,给微服务容器发送命令创建快照,等待微服务容器创建快照;
在微服务容器完成快照创建后,将快照存储到快照后端存储模块的指定路径;
遍历分布式应用的配置信息中的每个微服务配置信息;
判断微服务配置信息中的父微服务列表是否包含当前微服务名字;
如果该微服务配置信息中的父微服务列表中包含当前微服务名字,即表示该微服务为当前微服务的子微服务,则遍历子微服务的快照代理容器地址列表,将快照创建请求发送给子微服务实例的快照代理容器;
向快照管理模块发送当前微服务快照创建完成的消息。
在一些实施例中,微服务快照代理模块,具体用于:通过如下方式计算需要接收的父微服务传递下来的总快照创建请求数:遍历父微服务列表,获取每个父微服务列表对应的微服务实例数,累加所有父微服务列表对应的微服务实例数得到总快照创建请求数。
图2是本发明实施例的快照系统整体的快照创建流程图,如图2所示,本系统为云原生分布式应用创建一致性快照,包括如下步骤:
S110:获取用户部署的云原生分布式应用和该分布式应用的配置信息;该云原生分布式应用由多个微服务组成,每个微服务包含一个或多个实例。分布式应用的配置信息(appConfig)用来记录每个分布式应用的配置,其由多个微服务配置信息(microServiceConfig)组成;即appConfig={microServiceConfig,microServiceConfig,…}。
S120:将上述的分布式应用的配置信息(appConfig)发送给分布式应用管理模块创建分布式应用;分布式应用管理模块根据分布式应用的配置信息(appConfig)创建分布式应用,即App={appName, appConfig, status=available};
S130:针对上述创建的分布式应用发送快照创建请求,并将该快照创建请求发送给快照管理模块,即snapReq={AppName, Timestamp};
S140:快照管理模块根据快照创建请求执行快照的创建流程,通过与每个微服务的快照代理容器交互,每个微服务执行具体的快照创建流程;
S150:等待所有微服务完成快照创建,分布式应用也就完成了一致性快照的创建。
具体的技术方案如下:
S1:获取用户部署的云原生分布式应用。云原生分布式应用由多个微服务组成,每个微服务包含1个或多个实例。每个微服务实例中会将快照代理容器以边车容器的方式与微服务的业务容器即微服务容器部署在一起。分布式应用的具体配置信息(appConfig)用来记录每个分布式应用的配置,其由多个微服务配置信息microServiceConfig组成:appConfig=[microServiceConfig, microServiceConfig, ...]。每个微服务配置信息包括:微服务名字(serviceName),微服务实例数(scale),父微服务列表(parentServices),微服务实例对应的快照代理容器地址列表(agentAddresses),microServiceConfig={serviceName, scale, parentServices, agentAddresses}。图3是本发明实施例的云原生分布式应用示例图,如图3所示,在该示例中,云原生分布式应用包括三个微服务,各个微服务的配置信息(appConfig)如下:微服务1的配置信息包括:serviceName=microService1;scale=1;parentServices=[];agentAddresse=[addr1-1]。微服务2的配置信息包括:serviceName=microService2;scale=2;parentServices=[ microService1];agentAddresse=[addr2-1, addr2-2]。微服务3的配置信息包括:serviceName=microService3;scale=1;parentServices=[ microService2];agentAddresse=[addr3-1]。
S2:将上述的分布式应用的配置信息(appConfig)发送给分布式应用管理模块,创建分布式应用,即app={appName, appConfig, status=available}。
S3:用户手动或周期性地指定上述创建分布式应用,发起创建快照的请求:snapReq={应用名字appName, 快照时间timestamp}。快照管理模块接收快照创建请求,根据appName获取对应的分布式应用App,并判断分布式应用的状态是否是可用的(available),如果不是,则创建失败;否则,在快照后端存储模块中创建快照存储的路径:/snap/appName/timestamp,并更新分布式应用的状态为snapshotting:App={appName,appConfig, status=snapshotting},并创建快照对象:Snap={appName, timestamp,status=creating},开始执行快照创建流程。
S4:快照管理模块通过分布式应用的名字(appName),获取分布式应用的配置信息(appConfig)。通过遍历每个微服务配置信息(microServiceConfig)中的agentAddresses,将快照创建请求以及分布式应用的配置信息组成内部的快照创建请求:internalSnapReq={appName, timestamp, appConfig}发送给分布式应用的每个微服务实例对应的快照代理容器。
S5:如图4所示,每个微服务实例的快照代理容器执行一种基于云原生的分布式应用快照创建方法,该方法包括:S210、接收快照创建请求;S220、当满足预设条件时,发送快照创建请求给当前微服务创建快照;S230、当该当前微服务创建完成快照后,将当前微服务的快照存储到快照后端存储模块;S240、向该当前微服务的子微服务发送快照创建请求;S250、向快照管理模块发送当前微服务的快照创建成功的消息。
具体地,如图5所示,每个微服务实例(实例Id: instanceId)的快照代理容器接收到快照创建请求(snapReq)后具体执行如下步骤:
S501:接收到快照管理模块传来的内部快照创建请求(internalSnapReq={appName, timestamp, appConfig})后,提取快照创建请求中的timestamp作为当前微服务的快照时间(snapTimestamp);并且,提取分布式应用的配置信息(appConfig)中的当前微服务的配置信息(microServiceConfig);
S502:判断微服务的配置信息(microServiceConfig)中的父微服务列表(parentServices)是否为空;如果为空,则快照代理容器直接给微服务容器发送命令创建快照,等待微服务容器创建快照。
S503:如果微服务的配置信息(microServiceConfig)中的父微服务列表(parentServices)不为空,计算需要接收的父微服务传递下来的快照创建请求数(totalParentSnapReqs),具体地通过如下方式实现:
遍历父微服务列表(parentServices),获取每个parentService对应的微服务实例数(即microServiceConfig.scale),累加所有父微服务列表对应的微服务实例数得到totalParentSnapReqs:
totalParentSnapReqs=sum(parentService[i].microServiceConfig.scale)。
S504:记录接收到来自父微服务的快照创建请求数(parentSnapReqs)。
S505:当微服务接收到来自父微服务的快照创建请求(parentSnapReq)时,判断父微服务的快照时间是否与当前微服务的快照时间相同,即判断是否满足sanpReq.Timestamp==snapTimestamp。
S506:当请求有误时进行丢弃,即如果两个快照时间不相等,表示这个快照创建请求是错误的,应当丢弃。
S507:如果两个快照时间相同,即parentSnapReq.timestamp == snapTimestamp,则表示接收到了一个父微服务传递下来的合法的快照创建请求,来自父微服务的快照创建请求数(parentSnapReqs)加1。
S508:判断是否接收到了所有的父微服务的快照创建请求, 即判断是否满足parentSnapReqs=totalParentSnapReqs。
S509:当parentSnapReqs==totalParentSnapReqs时,表示该已经等待所有父完成快照,给微服务容器发送命令创建快照,等待微服务容器创建快照。
S510:微服务容器完成快照创建后,快照代理容器负责将快照存储到快照后端存储模块的指定路径:/snap/appName/timestamp/serviceName/instanceId/。
S511:快照代理容器遍历分布式应用的配置信息appConfig中的每个微服务配置信息microServiceConfig。
S512:判断微服务配置信息中的父微服务列表是否包含当前微服务名字。
S513:如果该微服务配置信息中的父微服务列表(parentServices)中包含当前微服务名字serviceName,即表示该微服务为当前微服务的子微服务,则遍历其微服务的快照代理容器地址列表agentAddresses,将快照创建请求发送给子微服务实例的快照代理容器。
S514:最后给快照管理模块发送当前微服务快照创建完成的消息,即msg{appName, serviceName, status=succeed}。
S6:快照管理模块收集来自微服务实例中的快照代理容器发送的快照完成消息,当每个微服务收到的消息数microServiceMsg满足:microServiceMsg=microServiceConfig.scale,表示该微服务完成快照;当所有的微服务都完成快照后,更新快照对象的状态为available:snap{appName, timestamp, status=available},表示快照创建成功;更新分布式应用对象的状态为available:app{appName, appConfig, status=available},表示分布式应用可以接收新的快照创建请求。
本发明实施例的有益效果在于:
本发明实施例提供一种基于云原生的分布式快照系统,为云原生场景下的分布式应用(由多个微服务组成,微服务之间有业务上的前后依赖关系,每个微服务由1个或多个实例组成)创建一致性快照。
本发明实施例中分布式应用的配置信息appConfig和微服务配置信息microServiceConfig是由用户提供的,在云原生场景中,尤其是Kubernetes这种服务编排系统中,应用以及微服务都会以工作负载的形式出现,其相关的配置信息可以自动的从工作负载的相关描述文件中获取,而不需要用户手动的提供,这样就可以达到自动发现应用和微服务的可能。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
如图6所示,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述一种基于云原生的分布式应用快照创建方法的各步骤。所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。当然,还有其他方式的可读存储介质,例如量子存储器、石墨烯存储器等等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
本发明实施例还提供了一种计算机设备,如图7所示,包括一个或多个处理器301、通信接口302、存储器303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信。
存储器303,用于存放计算机程序;
处理器301,用于执行存储器303上所存放的程序时,实现上述一种基于云原生的分布式应用快照创建方法的各步骤。
处理器301可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器303可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器303可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器303可包括可移除或不可移除(或固定)的介质。在特定实施例中,存储器303是非易失性固态存储器。在特定实施例中,存储器303包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
通信总线304包括硬件、软件或两者,用于将上述部件彼此耦接在一起。举例来说,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
虽然本申请提供了如实施例或流程图的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种基于云原生的分布式应用快照系统,其特征在于,所述系统包括:
分布式应用管理模块,用于获取分布式应用的配置信息,根据所述分布式应用的配置信息创建分布式应用,所述分布式应用由多个微服务组成,每个微服务存在至少一个实例,每个所述实例中的微服务快照代理模块以边车容器的方式与所述微服务部署在一起;
快照管理模块,用于接收快照创建请求,根据所述快照创建请求与每个所述实例中的微服务快照代理模块交互,触发每个所述实例中的微服务快照代理模块分别对应的微服务创建相应的快照;
微服务快照代理模块,用于接收所述快照管理模块以及父微服务发送的快照创建请求;当满足预设条件时发送快照创建请求给当前微服务容器,触发当前微服务容器创建快照;当所述当前微服务容器创建快照完成后,所述微服务快照代理模块将创建的快照存储到快照后端存储模块,向子微服务发送快照创建请求,以及向所述快照管理模块发送所述当前微服务容器的快照创建成功的消息;
快照后端存储模块,用于存储分布式应用中的多个微服务的快照。
2.根据权利要求1所述的系统,其特征在于,
所述快照后端存储模块,具体用于采用对象存储的方式作为所述分布式应用的快照的后端存储;所述分布式应用的配置信息包括多个微服务配置信息,每个所述微服务配置信息包括:微服务名字、微服务实例数、父微服务列表和微服务实例对应的快照代理容器地址列表。
3.根据权利要求2所述的系统,其特征在于,所述快照管理模块,具体包括:
接收单元,用于接收快照创建请求;
判断处理单元,用于判断所述分布式应用的状态;如果所述分布式应用正在执行快照,则创建快照失败;如果所述分布式应用没有正在执行快照,则在所述快照后端存储模块中创建快照存储的路径,更新所述分布式应用的状态为正在执行快照,以及创建快照对象;
快照创建请求发送单元,用于获取所述分布式应用的配置信息,根据所述分布式应用的配置信息向所述分布式应用的每个实例中的微服务对应的微服务快照代理模块发送创建快照的命令;
确认单元,用于当收到每个实例中的微服务对应的微服务快照代理模块发送的创建成功消息后,确认分布式应用的快照创建成功。
4.根据权利要求3所述的系统,其特征在于,
所述接收单元,具体用于接收第一快照创建请求,所述第一快照创建请求中包括:分布式应用的名字和快照时间;
所述快照创建请求发送单元,具体用于根据所述分布式应用的名字,获取所述分布式应用的配置信息,所述分布式应用的配置信息包括多个微服务配置信息;通过遍历每个微服务配置信息中的微服务实例对应的快照代理容器地址列表,将所述分布式应用的名字、快照时间和分布式应用的配置信息组成第二快照创建请求,并且将所述第二快照创建请求发送给分布式应用的每个微服务实例对应的快照代理容器;
所述确认单元,具体用于收集来自微服务实例中的快照代理容器发送的快照完成消息,当每个微服务收到的消息数等于每个父微服务对应的微服务实例数之和时,表示该微服务完成快照,当所有的微服务都完成快照后,更新快照状态信息以表示快照创建成功,以及更新分布式应用的状态信息。
5.根据权利要求4所述的系统,其特征在于,所述微服务快照代理模块,具体用于:
接收所述第二快照创建请求,提取所述第二快照创建请求中的快照时间作为当前微服务的快照时间,以及提取分布式应用的配置信息中的当前微服务配置信息;
判断所述微服务配置信息中的父微服务列表是否为空;
如果为空,则直接给微服务容器发送命令创建快照,等待微服务容器创建快照;
如果微服务配置信息中的父微服务列表不为空,计算需要接收的父微服务传递下来的总快照创建请求数;
记录接收到来自父微服务的快照创建请求数;
当所述微服务接收到来自所述父微服务的快照创建请求时,判断所述父微服务的快照时间是否与当前微服务的快照时间相同;
如果两个快照时间不相同,表示这个快照创建请求是错误的,应当丢弃;
如果两个快照时间相同,则表示接收到了一个父微服务传递下来的合法的快照创建请求,将来自父微服务的快照创建请求数加1;
当来自父微服务的快照创建请求数等于总快照创建请求数时,给微服务容器发送命令创建快照,等待微服务容器创建快照;
在微服务容器完成快照创建后,将快照存储到快照后端存储模块的指定路径;
遍历分布式应用的配置信息中的每个微服务配置信息;
判断微服务配置信息中的父微服务列表是否包含当前微服务名字;
如果该微服务配置信息中的父微服务列表中包含当前微服务名字,表示该微服务为当前微服务的子微服务,则遍历子微服务的快照代理容器地址列表,将快照创建请求发送给子微服务实例的快照代理容器;
向所述快照管理模块发送当前微服务快照创建完成的消息。
6.根据权利要求5所述的系统,其特征在于,所述微服务快照代理模块,具体用于:
通过如下方式计算需要接收的父微服务传递下来的总快照创建请求数:
遍历父微服务列表,获取每个父微服务列表对应的微服务实例数,累加所有父微服务列表对应的微服务实例数得到总快照创建请求数。
7.一种基于云原生的分布式应用快照创建方法,其特征在于,所述方法包括:
接收快照创建请求;
当满足预设条件时,发送快照创建请求给当前微服务创建快照;
当所述当前微服务完成快照创建后,将所述当前微服务创建的快照存储到快照后端存储模块,
向所述当前微服务的子微服务发送快照创建请求;
向快照管理模块发送所述当前微服务的快照创建成功的消息。
8.根据权利要求7所述的方法,其特征在于,所述的接收快照创建请求,具体包括:
从快照管理模块接收第二快照创建请求,提取所述第二快照创建请求中的快照时间作为当前微服务的快照时间,以及提取分布式应用的配置信息中的当前微服务的配置信息;其中,所述第二快照创建请求中包括分布式应用的名字、快照时间和分布式应用的配置信息;所述第二快照创建请求是所述快照管理模块根据第一快照请求生成的,所述第一快照创建请求中包括:分布式应用的名字和快照时间;
所述的当满足预设条件时,发送快照创建请求给微服务创建快照,具体包括:
判断微服务的配置信息中的父微服务列表是否为空;
如果为空,则直接给微服务容器发送命令创建快照,等待微服务容器创建快照;
如果微服务的配置信息中的父微服务列表不为空,计算需要接收的父微服务传递下来的总快照创建请求数;
记录接收到来自父微服务的快照创建请求数;
当微服务接收到来自父微服务的快照创建请求时,判断父微服务的快照时间是否与当前微服务的快照时间相同;
如果两个快照时间不相等,表示这个快照创建请求是错误的,应当丢弃;
如果两个快照时间相同,则表示接收到了一个父微服务传递下来的合法的快照创建请求,将来自父微服务的快照创建请求数加1;
当来自父微服务的快照创建请求数等于总快照创建请求数时,给微服务容器发送命令创建快照,等待微服务容器创建快照;
所述的向所述当前微服务的子微服务发送快照创建请求,具体包括:
遍历分布式应用的配置信息中的每个微服务配置信息;
判断微服务配置信息中的父微服务列表是否包含当前微服务名字;
如果该微服务配置信息中的父微服务列表中包含当前微服务名字,表示该微服务为当前微服务的子微服务,则遍历子微服务的快照代理容器地址列表,将快照创建请求发送给子微服务实例的快照代理容器。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求7或8中所述的方法。
10.一种计算机设备,其特征在于,其包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求7或8所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310964271.8A CN116662267B (zh) | 2023-08-02 | 2023-08-02 | 一种基于云原生的分布式应用快照系统和快照创建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310964271.8A CN116662267B (zh) | 2023-08-02 | 2023-08-02 | 一种基于云原生的分布式应用快照系统和快照创建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116662267A true CN116662267A (zh) | 2023-08-29 |
CN116662267B CN116662267B (zh) | 2024-04-05 |
Family
ID=87715795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310964271.8A Active CN116662267B (zh) | 2023-08-02 | 2023-08-02 | 一种基于云原生的分布式应用快照系统和快照创建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116662267B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120131291A1 (en) * | 2010-11-19 | 2012-05-24 | International Business Machines Corporation | Application aware snapshots |
CN109445869A (zh) * | 2018-09-17 | 2019-03-08 | 山东中创软件商用中间件股份有限公司 | 一种跨云适配的微服务管理方法、装置和存储介质 |
CN110737503A (zh) * | 2018-07-20 | 2020-01-31 | 华为技术有限公司 | 容器服务快照的管理方法和装置 |
CN111124589A (zh) * | 2018-10-30 | 2020-05-08 | 中移(苏州)软件技术有限公司 | 一种服务发现系统、方法、装置及设备 |
CN111226200A (zh) * | 2018-03-23 | 2020-06-02 | 华为技术有限公司 | 为分布式应用创建一致性快照的方法、装置和分布式系统 |
CN115510156A (zh) * | 2022-09-22 | 2022-12-23 | 新华三技术有限公司 | 一种云原生高可用数据库服务提供系统及方法 |
CN115934292A (zh) * | 2022-12-30 | 2023-04-07 | 阿里巴巴(中国)有限公司 | 微服务应用的调用方法、装置及设备 |
-
2023
- 2023-08-02 CN CN202310964271.8A patent/CN116662267B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120131291A1 (en) * | 2010-11-19 | 2012-05-24 | International Business Machines Corporation | Application aware snapshots |
CN111226200A (zh) * | 2018-03-23 | 2020-06-02 | 华为技术有限公司 | 为分布式应用创建一致性快照的方法、装置和分布式系统 |
CN110737503A (zh) * | 2018-07-20 | 2020-01-31 | 华为技术有限公司 | 容器服务快照的管理方法和装置 |
CN109445869A (zh) * | 2018-09-17 | 2019-03-08 | 山东中创软件商用中间件股份有限公司 | 一种跨云适配的微服务管理方法、装置和存储介质 |
CN111124589A (zh) * | 2018-10-30 | 2020-05-08 | 中移(苏州)软件技术有限公司 | 一种服务发现系统、方法、装置及设备 |
CN115510156A (zh) * | 2022-09-22 | 2022-12-23 | 新华三技术有限公司 | 一种云原生高可用数据库服务提供系统及方法 |
CN115934292A (zh) * | 2022-12-30 | 2023-04-07 | 阿里巴巴(中国)有限公司 | 微服务应用的调用方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116662267B (zh) | 2024-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110032438B (zh) | 延时任务执行方法、装置及电子设备 | |
US8949566B2 (en) | Locking access to data storage shared by a plurality of compute nodes | |
CN108153598B (zh) | 基于微服务架构的数据一致性方法以及装置 | |
US9736034B2 (en) | System and method for small batching processing of usage requests | |
CN108572898B (zh) | 一种控制接口的方法、装置、设备、以及存储介质 | |
CN111950988A (zh) | 分布式工作流调度方法、装置、存储介质及电子设备 | |
CN109743411B (zh) | 一种在分布式环境下动态调度ip代理池的方法、装置及存储介质 | |
CN109150662B (zh) | 消息传输方法、分布式系统、设备、介质和无人车 | |
CN109766172B (zh) | 一种异步任务调度方法以及装置 | |
CN110659142A (zh) | 消息队列处理方法及装置、电子设备、存储介质 | |
CN114461371B (zh) | 一种服务器系统中断优化方法、装置、设备及介质 | |
EP3968668A1 (en) | Resource subscription method, device and server, and computer storage medium | |
CN114138500B (zh) | 资源调度系统及方法 | |
CN115004673A (zh) | 消息推送方法、装置、电子设备及计算机可读介质 | |
CN111949497A (zh) | 消息队列系统以及基于消息队列系统的消息处理方法 | |
CN113760468A (zh) | 分布式选举方法、装置、系统和介质 | |
CN113722056A (zh) | 任务调度方法、装置、电子设备和计算机可读介质 | |
CN111385255B (zh) | 一种异步调用实现方法、装置、服务器及服务器集群 | |
CN111417130B (zh) | 一种数据处理方法及设备 | |
CN110968410A (zh) | 任务失败重试方法、装置、计算机设备及存储介质 | |
CN113590362A (zh) | 进程间消息处理方法、装置、电子设备及存储介质 | |
CN112579515A (zh) | 线程消息处理方法及相关产品 | |
CN116662267B (zh) | 一种基于云原生的分布式应用快照系统和快照创建方法 | |
CN111694645B (zh) | 分布式任务调度系统中任务处理方法及相关装置 | |
CN111597056B (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 |