CN114390059B - 一种业务处理***及业务处理方法 - Google Patents
一种业务处理***及业务处理方法 Download PDFInfo
- Publication number
- CN114390059B CN114390059B CN202111638161.XA CN202111638161A CN114390059B CN 114390059 B CN114390059 B CN 114390059B CN 202111638161 A CN202111638161 A CN 202111638161A CN 114390059 B CN114390059 B CN 114390059B
- Authority
- CN
- China
- Prior art keywords
- service
- processed
- container group
- container
- target container
- 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
Links
- 238000003672 processing method Methods 0.000 title claims description 13
- 238000000034 method Methods 0.000 claims description 72
- 230000008569 process Effects 0.000 claims description 54
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种业务处理***及业务处理方法,涉及微服务处理技术领域,通过本申请实施例提供的业务处理***,通过网络虚拟交换组件进行实时监测对应的容器组的状态信息,并上报给流量管理中心,在利用流量管理中心上报到负载均衡器,负载均衡器可以接收到待处理业务之后,可以根据接收到的多个容器组的状态信息对待处理业务进行分配,实现对待处理业务的有效处理。
Description
技术领域
本申请涉及微服务处理技术领域,特别涉及一种业务处理***及业务处理方法。
背景技术
目前,随着社交网络、云计算等技术不断融入人们的生活,在越来越多的领域中都涉及到对各种各样的业务或者数据进行处理,其中,就会涉及到多个数据中心对数据进行处理的情况。
目前市场上存在不同的异地多活架构的业务处理***。所谓异地多活,一般是指在不同城市建立独立的数据中心,异地主要是指地理位置上不同的地方,多活就指不同地理位置上的数据中心都能够提供业务服务。每个数据中心中均包括多个容器组,以及每个容器组对应的微服务。
针对多数据中心,多容器组以及多微服务之间,如何保证待处理业务得到有效的处理是一个亟待解决的问题。
发明内容
为了解决上述现有技术中的问题,本申请实施例提供了一种业务处理***以及业务处理方法,可以对待处理业务有效的进行处理。
第一方面,本申请实施例提供了一种业务处理***,所述***包括异地部署的至少两个数据中心;其中,第一数据中心中包括:负载均衡器、流量管理中心、容器管理装置、多个容器组、每个容器组对应的虚拟网络交换组件、以及每个容器组对应的微服务;所述第一数据中心为所述至少两个数据中心中的任意一个数据中心;每个容器组包括至少一个容器;
每个容器组对应的虚拟网络交换组件用于监测对应的容器组的状态信息,并上报对应的容器组的状态信息至所述流量管理中心;
所述流量管理中心用于从所述多个容器组对应的虚拟网络交换组件获取所述多个容器组的状态信息,并上报到所述负载均衡器;
所述负载均衡器用于接收待处理业务,并根据所述流量管理中心上报的所述多个容器组的状态信息,向所述容器管理装置发送第一指示信息;所述第一指示信息用于指示所述容器管理装置为所述待处理业务发送至目标容器组对应的虚拟网络交换组件;
所述容器管理装置为用于接收所述第一指示信息,并基于所述第一指示信息将所述待处理业务发送至目标容器组对应的虚拟网络交换组件;
所述目标容器组用于调用所述目标容器组对应的微服务,处理所述目标容器组对应的虚拟网络交换组件接收的所述待处理业务。
在一种可能的实施方式中,所述流量管理中心还用于:
所述目标容器组对应的微服务处理所述待处理业务之后,若接收到所述目标容器组对应的网络虚拟交换组件上报的状态信息为:所述目标容器组发生故障的故障信息,则从所述多个容器组中选择新的目标容器组,向所述容器管理装置发送第二指示信息;所述第二指示信息用于指示所述容器管理装置为所述待处理业务发送至所述新的目标容器组对应的虚拟网络交换组件。
在一种可能的实施方式中,所述流量管理中心还用于:
所述目标容器组对应的微服务处理所述待处理业务之后,若接收到所述目标容器组对应的网络虚拟交换组件上报的状态信息为:所述目标容器组发生故障的故障信息,则将所述目标容器组发生故障的故障信息上报至所述负载均衡器,以使所述负载均衡器从所述多个容器组中选择新的目标容器组,并向所述容器管理装置发送更新后的第一指示信息。
在一种可能的实施方式中,所述流量管理中心还用于:
所述目标容器组对应的微服务处理所述待处理业务之后,若接收到所述多个容器组的状态信息为:所述多个容器组全部发生故障的故障信息,则将所述多个容器组全部发生故障的故障信息上报至所述负载均衡器,以使所述负载均衡器将所述待处理业务发送至第二数据中心;所述第二数据中心为所述至少两个数据中心中除所述第一数据中心以外的其他数据中心。
在一种可能的实施方式中,所述待处理业务为异地可执行类型的业务;所述流量管理中心还用于:
所述目标容器组对应的微服务处理所述待处理业务之后,若接收到所述多个容器组的状态信息为:所述多个容器组全部发生故障的故障信息,则向所述目标容器组对应的网络虚拟交换组件发送第三指示信息,以使所述目标容器组对应的网络虚拟交换组件将所述待处理业务转发至第二数据中心中的任意一个容器组对应的网络虚拟交换组件中继续进行处理;所述第二数据中心为所述至少两个数据中心中除所述第一数据中心以外的其他数据中心。
第二方面,本申请实施例提供了一种业务处理方法,应用于业务处理***,所述方法包括:所述业务处理***包括异地部署的至少两个数据中心;所述至少两个数据中心中的任意一个数据中心作为第一数据中心;
在所述第一数据中心中接收待处理业务,并利用流量管理中心获取多个容器组的状态信息;所述多个容器组的状态信息为每个容器组对应的虚拟网络交换组件监测的;
根据所述多个容器组的状态信息,从所述多个容器组中选择目标容器组;
将所述待处理业务发送至所述目标容器组对应的虚拟网络交换组件中,并调用所述目标容器组对应的微服务处理所述待处理业务。
在一种可能的实施方式中,所述调用所述目标容器组对应的微服务处理所述待处理业务之后,所述方法还包括:
若获取到所述目标容器组的状态信息为:所述目标容器组发生故障的故障信息,则从所述多个容器组中选择新的目标容器组,利用所述流量管理中心向所述容器管理装置发送第二指示信息;所述第二指示信息用于指示所述容器管理装置为所述待处理业务发送至所述新的目标容器组对应的虚拟网络交换组件。
在一种可能的实施方式中,所述调用所述目标容器组对应的微服务处理所述待处理业务之后,所述方法还包括:
若接收到所述目标容器组对应的网络虚拟交换组件上报的状态信息为:所述目标容器组发生故障的故障信息,则利用所述流量管理中心将所述目标容器组发生故障的故障信息上报至负载均衡器,以使所述负载均衡器从所述多个容器组中选择新的目标容器组,并向所述容器管理装置发送更新后的第一指示信息。
在一种可能的实施方式中,所述调用所述目标容器组对应的微服务处理所述待处理业务之后,所述方法还包括:
若获取到所述多个容器组的状态信息为:所述多个容器组全部发生故障的故障信息,则利用所述流量管理中心将所述多个容器组全部发生故障的故障信息上报至负载均衡器,并利用所述负载均衡器将所述待处理业务发送至第二数据中心;所述第二数据中心为所述至少两个数据中心中除所述第一数据中心以外的其他数据中心。
在一种可能的实施方式中,所述待处理业务为异地可执行类型的业务;所述调用所述目标容器组对应的微服务处理所述待处理业务之后,所述方法还包括:
若接收到所述多个容器组的状态信息为:所述多个容器组全部发生故障的故障信息,则指示所述目标容器组对应的网络虚拟交换组件将所述待处理业务转发至第二数据中心中的任意一个容器组对应的网络虚拟交换组件中,以使所述第二数据中心中的任意一个容器组对应的网络虚拟交换组件对所述待处理业务继续进行处理;所述第二数据中心为所述至少两个数据中心中除所述第一数据中心以外的其他数据中心。
本申请实施例提供了一种业务处理***以及业务处理方法,通过本申请实施例提供的业务处理***,通过网络虚拟交换组件进行实时监测对应的容器组的状态信息,并上报给流量管理中心,在利用流量管理中心上报到负载均衡器,负载均衡器可以接收到待处理业务之后,可以根据接收到的多个容器组的状态信息对待处理业务进行分配,实现对待处理业务的有效处理。
并且,业务处理***中包括至少两个数据中心,在第一数据中心中的容器组故障时,可以通过负载均衡器将待处理业务发送到第二数据中心中,通过第二数据中心对待处理业务进行处理。保证整个业务处理***的容错和容灾,无论何种情况下,均可以使待处理业务得到有效处理。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请实施例提供的一种业务处理***的使用场景的示意图;
图2示出了本申请实施例提供的另一种业务处理***的使用场景的示意图;
图3示出了本申请实施例提供的一种具体的业务处理过程的示意图;
图4示出了本申请实施例提供的一种利用第二数据中心处理待处理业务的示意图;
图5示出了本申请实施例提供的另一种利用第二数据中心处理待处理业务的示意图;
图6示出了本申请实施例提供的另一种利用第二数据中心处理待处理业务的示意图;
图7示出了本申请实施例提供的一种虚拟网络交换组件的结构示意图;
图8示出了本申请实施例提供的一种业务处理方法的流程示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
需要说明的是,本申请的文件中涉及的术语“包括”和“具有”以及它们的变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
针对现有技术中,通过本申请实施例提供的业务处理***,通过网络虚拟交换组件进行实时监测对应的容器组的状态信息,并上报给流量管理中心,在利用流量管理中心上报到负载均衡器,负载均衡器可以接收到待处理业务之后,可以根据接收到的多个容器组的状态信息对待处理业务进行分配,实现对待处理业务的有效处理。
本申请实施例提供的业务处理方法可以应用于业务处理***,图1示出了一种本申请实施例提供的业务处理***的使用场景的示意图,如图1所示。
参见图1所示,该业务处理***100中包括异地部署的至少两个数据中心;为了方便理解,本申请实施例中以两个数据中心为例,所以,业务处理***100包括第一数据中心110以及第二数据中心120。其中,第一数据中心110中包括负载均衡器111、流量管理中心112、k8s集群113。
其中,任意一个数据中心中均可以包括多个容器组,以第一数据中心110为例。实质上,多个容器组的集群可以称为kubernetes集群,简称k8s集群113,每个k8s集群113包括多个容器组以及容器管理装置114,所以,如图1所示,每一个数据中心中均包括负载均衡器111、流量管理中心112以及一个k8s集群113。
k8s集群中存在k8s集群节点(k8s node)的概念,每一个k8s node是共用一个虚拟网桥的,每个k8s node可以包括多个容器组,在本申请实施例提供的业务处理***中,以每个k8s node中包括一个容器组为例。虚拟网桥为用于连通多个虚拟网络交换组件的桥梁。
容器组中包括的多个容器可以为pod,在同一时刻中,容器组中可以存在一个正在工作的容器pod,以及多台处于热备阶段的容器pod。
其中,以k8s集群113中包括两个容器组为例,分别为目标容器组115,容器组116。目标容器组115存在目标容器组115对应的网络虚拟交换组件1151,以及目标容器组115对应的微服务1152。容器组116存在目标容器组116对应的网络虚拟交换组件1161,以及目标容器组116对应的微服务1162。
第二数据中心120中包括负载均衡器121、流量管理中心122、k8s集群123。k8s集群123中包括容器管理装置124、以及多个容器组。
以k8s集群123中包括两个容器组为例,分别为容器组125和容器组126。容器组125存在目标容器组125对应的网络虚拟交换组件1251,以及目标容器组125对应的微服务1252。容器组126存在目标容器组126对应的网络虚拟交换组件1261,以及目标容器组126对应的微服务1262。
其中,第二数据中心120也是处于工作状态的,第二数据中心120中的每个容器组与流量管理中心122也是存在交互的,由于本申请实施例提供的图1主要是在第一数据中心110中将待处理业务发送至目标容器组115为主,所以,图1中没有将其他细节的过程表示出来,仅表示出第二数据中心120中的结构示意图。
第一数据中心110中的流量管理中心112和第二数据中心120中的流量管理中心122是同步状态。即为,共享多个容器组对应的虚拟网络交换组件上报的多个容器组的状态信息。
图1中业务处理***的使用场景为,第一数据中心110中的负载均衡器111接收到待处理业务。并以其中一个容器组作为目标容器组115为例,k8s集群113中的其他容器组若存在正在处理的业务,那么容器组与流量管理中心112也是存在交互的,在图1中没有画出。如容器组116中若存在正在处理的业务,那么容器组116对应的网络虚拟交换组件1161也会监测容器组116的状态信息,并上报到流量管理中心112。
针对第一数据中心110进行说明,每个容器组对应的虚拟网络交换组件均可用于监测对应的容器组的状态信息,并上报对应的容器组的状态信息至流量管理中心112。
其中,容器组的状态信息可以包括:容器处理的请求数量、容器的HTTP返回码、容器内部应用程序的使用情况(JVM)等,但这些指标的采集都通过虚拟网络交互组件主动定时的去获取。
流量管理中心112用于从多个容器组对应的虚拟网络交换组件获取多个容器组的状态信息,并上报到负载均衡器111。
负载均衡器111用于接收待处理业务,并根据流量管理中心112上报的多个容器组的状态信息,向容器管理装置114发送第一指示信息。
其中,第一指示信息用于指示容器管理装置114为待处理业务发送至目标容器组115对应的虚拟网络交换组件1151。目标容器组115为从多个容器组中根据多个容器组的状态信息选择的处理待处理业务的容器组。
可选地,第一指示信息可以为将多个容器组的状态信息通知容器管理装置113,以使容器管理装置113为待处理业务从多个容器组中选择目标容器组115,并将待处理业务分配到目标容器组115对应的虚拟网络交换组件1151。容器管理装置114可以为Kube-proxy,为k8s集群113中用于将待处理业务负载均衡到正确的后端容器pod的装置或者组件。
容器管理装置113用于接收第一指示信息,并基于第一指示信息将待处理业务发送至目标容器组115对应的虚拟网络交换组件1151。目标容器组115用于调用目标容器组115对应的微服务1152,处理目标容器组115对应的虚拟网络交换组件1151接收的待处理业务。
目标容器组115接收到待处理业务之后,目标容器组115对应的虚拟网络交换组件1151会持续将目标容器组115的状态信息上报到流量管理中心。
通过虚拟网络交换组件接收待处理业务或者报文,则对待处理业务或者任意报文中的协议进行解析,并将协议由核心态转至用户态,在有用户态转发至应用程序等功能都是由虚拟网络交换组件完成的。
可选地,虚拟网络交换组件还可以进行数据转发,如将接收到的待处理业务进行数据转发,或者转发各类已经解析的协议数据。
在一种可能的实施方式中,针对业务处理***100,若微服务1152在处理待处理业务的过程中,若目标容器组115中正在处理待处理业务的容器发生故障。由于虚拟交换组件1151一直监测目标容器组115的状态信息,所以,虚拟交换组件1151会将目标容器组115中正在处理待处理业务的容器发生故障的故障信息上报到流量管理中心112。
流量管理中心112接收到虚拟交换组件1151上报的目标容器组115中正在处理待处理业务的容器发生故障的故障信息,由于同一个容器组共用一个虚拟网路交换组件,则可以在目标容器组115内进行更新容器,将目标容器组115中处于热备阶段的容器启动,替换正在处理待处理业务的容器,即可以继续处理待处理业务。
在一种可能的实施方式中,若目标容器组115中正在处理待处理业务的容器发生故障,并没有其他正处于热备阶段的容器,或者,目标容器组115中所有的容器均不可用,则需要为待处理业务更换容器组。则为了方便理解,可以理解为正在处理待处理业务的目标容器组115中的全部容器发生故障,则虚拟网络交换组件1151可以将监测到的目标容器组115的故障信息上报到流量管理中心112,流量管理中心112接收到虚拟交换组件1151上报的目标容器组115发生故障的故障信息之后,需要将待处理业务从目标容器组115中正在处理待处理业务的容器上进行更换,更换到其他容器组中可以使用的容器上。如图2所示。可以分为两种情况。
第一种情况:流量管理中心112接收虚拟交换组件1151上报的目标容器组115发生故障的故障信息之后,可以将目标容器组115发生故障的故障信息上报至负载均衡器111,负载均衡器111接收到目标容器组115发生故障的故障信息之后,可以重新进行负载均衡,并从多个容器组中选择新的目标容器组,如可以将容器组116作为新的目标容器组。并向容器管理装置发送更新后的第一指示信息。
第二种情况:流量管理中心112接收虚拟交换组件1151上报的目标容器组115发生故障的故障信息之后,可以直接从k8s集群113中的除目标容器组115以外的其他容器组中选择新的目标容器组,如将容器组116作为新的目标容器组,并向容器管理装置114发送第二指示信息。其中,流量管理重心112向容器管理装置发送指示信息是通过应用程序接口(Application Programming Interface,API)进行发送的,可以是k8s应用程序服务接口(k8s API server)。
其中,第二指示信息用于指示容器管理装置114将待处理业务发送至新的目标容器组116对应的虚拟网络交换组件1161中。则容器管理装置114重新将待处理业务发送至新的目标容器组116对应的虚拟网络交换组件1161。
可选地,第二指示信息可以是通知容器管理装置114,目标容器组115发生故障,并使容器管理装置114指示目标容器组115将待处理业务的数据进行转发至新的目标容器组116对应的虚拟网络交换组件1161中,并利用新的目标容器组116对应的微服务继续处理待处理业务。此种情况下,可以直接通过虚拟交换组件之间进行数据转发,继续对待处理业务进行处理,实现不同容器组之间的实时业务转发以及处理,可以给业务处理***提供可靠的容错和容灾能力,并快速,高效的处理待处理业务。第一种情况的处理方式与此种情况下的处理方式进行对比,第一种情况的处理方式中,通过负载均衡器重新进行待处理业务的转发,待处理业务需要重新进行处理,处理速度比较慢,处理效率略低。
可选地,流量管理中心112接收虚拟交换组件1151上报的目标容器组115发生故障的故障信息之后,可以指示目标容器组115对应的虚拟网络交换组件1151,直接通过虚拟网络交换的方式,将待处理业务发送至其他容器组对应的虚拟网络交换组件中。因为,此种方式下,多个容器组均是处于第一数据中心110中的,在多个容器组共享一个数据库的情况下,虽然原来的目标容器组115和新的目标容器组116并非出于同一个k8s节点中,不共用一个虚拟网桥,但是可以通过配置虚拟网络插件的方式实现数据交换。所以,也可以通过虚拟网络交换的方式进行数据交换,只需要更换一个容器组,找到一个可用的容器pod,就可以实现继续对待处理业务进行处理,无需将目标容器组115的故障信息上报到负载均衡器111,也不需要指示容器管理装置114,重新对待处理业务进行发送。上述第一种情况和第二种情况都需要重新对待处理业务进行处理,而通过流量管理中心112指示虚拟网络交换组件1151进行虚拟网络交换的方式,可以继续对待处理业务进行处理,处理速度以及处理效率明显更快。
可选地,若在使用过程中,目标容器组115和新的目标容器组116处于同一个k8snode中,则也可以直接利用虚拟网络交换组件进行转发数据。
需要说明的是,在上述情况中,若需要使用容器组中的容器,以及容器组对应的虚拟网络交换组件,是需要先进行注册的,如图3所示,图3示出了一种详细的通过流量管理中心112指示容器管理装置114对目标容器组进行更换的过程。图3中的容器管理装置114以Kube-proxy进行表示。
首先,如图3所示,注册中心用于将待使用的容器pod进行注册,其中,以POD-A和POD-B为例,以POD-A为目标容器组115中正在处理待处理业务的容器为例,POD-B为其他容器组中可以使用的容器为例。则在使用之前,需要将POD-A和POD-B在注册中心进行注册,POD-A对应的虚拟网络交换组件和POD-B对应的虚拟网络交换组件也需要在流量管理中心进行注册。进一步地,实质上在使用之前,POD也是需要在对应的虚拟网络交换组件进行注册,才能建立POD与虚拟网络交换组件之间的对应关系的,图3中以POD-B在其对应的虚拟网络交换组件进行注册为例,POD-A与其对应的虚拟网络交换组件进行注册的过程没有在图3中示出。
在全部注册完毕之后,可以进行使用,可以从图3中看出,POD-A对应的虚拟网络交换组件一直在对POD-A进行状态查询,监测POD-A的状态信息,并将POD-A的状态信息上报到流量管理中心,POD-B对应的虚拟网络交换组件一直在对POD-B进行状态查询,监测POD-B的状态信息,并将POD-B的状态信息上报到流量管理中心。
在用户进行访问时,待处理业务时通过负载均衡器发送到Kube-proxy的,Kube-proxy会将待处理业务发送至POD-A对应的虚拟网络交换组件中,虚拟网络交换组件进行协议判断,并进行数据转发,将虚拟网络交换组件接收到待处理业务从内核态转发至用户态,POD-A接收到待处理业务之后,调用POD-A对应的微服务对待处理业务进行处理,若POD-A发生故障,则会返回一个处理结果,告知虚拟网络交换组件POD-A发生故障,虚拟网络交换组件监测到POD-A发生故障的故障信息,上报到流量管理中心。
若流量管理中心接收到POD-A的状态信息为发生故障的故障信息,并且接收POD-B的状态信息为正常,流量管理中心通知Kube-proxy,POD-A的状态信息为故障信息,以便于后续Kube-proxy接收到新的待处理业务之后,不会将新的待处理业务发送至POD-A。并可以直接指示POD-A对应的虚拟网络交换组件将待处理业务通过虚拟网络交换的方式发送至POD-B对应的虚拟网络交换组件中,即可以理解为从初始的调用POD-A对应的虚拟网络交换组件接收待处理业务,变为调用POD-B对应的虚拟网络交换组件接收待处理业务,并进行后续处理。
可选地,若流量管理中心接收到POD-A的状态信息为发生故障的故障信息,并且接收POD-B的状态信息为正常,则可以向Kube-proxy发送第二指示信息,第二指示信息可以为通知Kube-proxy,POD-A的状态信息为发生故障的故障信息,POD-B的状态信息为正常,则Kube-proxy可以从POD-A对应的虚拟网络交换组件中将待处理业务转发至POD-B对应的虚拟网络交换组件,并调用POD-B对应的虚拟网络交换组件对待处理业务进行接收,并通过POD-B对应的微服务处理待处理业务,无需重新对待处理业务发送到POD-B对应的虚拟网络交换组件。
在一种可能的实施方式中,目标容器组115对应的微服务1151处理待处理业务之后,若接收到多个容器组的状态信息为:多个容器组全部发生故障的故障信息。如图4所示。
即为k8s集群113中的多个容器组都发生故障,则无法在第一数据中心110中无法找到容器组对待处理业务进行处理,则需要从其他数据中心中选择新的目标容器组对待处理业务进行处理。
则将多个容器组全部发生故障的故障信息上报至所述负载均衡器111,以使负载均衡器111将待处理业务发送至第二数据中心120,第二数据中心120中的负载均衡器121接收到待处理业务,负载均衡器121接收到待处理业务之后,后续执行的步骤即可以参考第一数据中心110中的负载均衡器111接收待处理业务的执行方式,此处不进行赘述。
在一种可能的实施方式中,在目标容器组对应的微服务处理所述待处理业务之后,流量管理中心112若接收到多个容器组的状态信息为:多个容器组全部发生故障的故障信息。由于流量管理中心112和流量管理中心122是同步状态,若待处理业务为异地可执行类型的业务,则流量管理中心122也可以获知待处理业务的信息,流量管理中心122可以指示容器管理装置124对待处理业务进行发送到新的目标容器组中,并进行后续处理。如图5所示。
可选地,由于待处理业务是可以通过虚拟网络交换组件进行数据的传递的,所以,即使是在不同的数据中心之间,也可以通过无线的方式进行实现数据转发,但是,待处理业务的类型必须是异地可执行类型的业务,这样不会受到第一数据中心110中数据库中内容的限制,即使通过第二数据中心进行处理数据也可以进行处理待处理业务。如图6所示。
所以,流量管理中心112可以向目标容器组对应的网络虚拟交换组件发送第三指示信息,这里的目标容器组以目标容器组116为例。
目标容器组116对应的网络虚拟交换组件1161将待处理业务转发至第二数据中心120中的任意一个容器组对应的网络虚拟交换组件中继续进行处理。第二数据中心120中的任意一个容器组对应的网络虚拟交换组件可以以图6中新的目标容器组125对应的网络虚拟交换组件1251为例。
流量管理中心112可以向流量管理中心122发送指示信息,流量管理中心122指示网络虚拟交换组件1251接收由目标容器组116对应的网络虚拟交换组件1161转发的待处理业务,并继续对待处理业务进行处理。
通过上述业务处理***,可以看出,本申请实施例提供的业务处理***可以对待处理业务实现有效的处理,并且针对任何一种情况,都存在相对应的容错,容灾方式,可以通过不同的数据中心,不同的k8s集群,不同的容器组,同一容器组中的不同容器对待处理业务进行处理,大大提高了异地多活的业务处理***的容错容灾能力。
并且,在同一数据中心中,通过本申请实施例提供的流量管理中心和虚拟网络交换组件之间的直接交互,可以直接通过虚拟网络交换的方式,在正在处理待处理业务的容器发生故障时,将待处理业务转发至其他可用的容器对应的虚拟网络交换组件中,可以继续对待处理业务进行处理,而不需要通过负载均衡器或者容器管理装置重新对待处理业务在发起一次处理流程,可以快速、高效的对待处理业务进行处理。即使在不同的数据中心中,若待处理业务为异地可执行类型的业务,也可以通过虚拟网络交换的方式,对待处理业务进行处理。
最后,本申请实施例中提供的流量管理中心和虚拟网络交换组件可以配置为依托硬件进行使用的插件,可以通过sidecar模式进行搭载在业务处理***中,通过此种方式的业务处理***来进行处理待处理业务,可以实现对服务入侵少,对底层基础设置干扰少的效果。
需要说明的是,如图7所示,本申请实施例提供的虚拟网络交换组件的多种功能,如协议解析,数据转发,状态监控,状态上报等功能都是可以由插件的方式进行配置并搭载在虚拟网络交换组件中。也可以通过插件配置的方式,给虚拟网路交换组件配置更多的功能。并且本申请实施例提供的虚拟网络交换组件可以是通过物理网卡直接将数据发送到PMD驱动/DPDK端口,在通过配置的插件就可以实现各种功能,相比于现有技术中的由内核态到用户态的方式而言,本申请实施例提供的将数据由内核态转置用户态的方式更快,并且节省数据处理的能力,无需调用对应的内核函数来处理数据。
图8示出了本申请实施例提供的一种业务处理方法的流程示意图,该业务处理方法可以应用于人脸识别***中的服务器。如图8所示,本申请实施例提供的业务处理方法包括以下步骤:
步骤S801:在所第一数据中心中接收待处理业务,并利用流量管理中心获取多个容器组的状态信息。
其中,多个容器组的状态信息为每个容器组对应的虚拟网络交换组件监测的。
步骤S802:根据多个容器组的状态信息,从多个容器组中选择目标容器组。
步骤S803:将待处理业务发送至目标容器组对应的虚拟网络交换组件中,并调用目标容器组对应的微服务处理待处理业务。
在一种可能的实施方式中,调用目标容器组对应的微服务处理待处理业务之后,若获取到目标容器组的状态信息为:目标容器组发生故障的故障信息,则从多个容器组中选择新的目标容器组,利用流量管理中心向容器管理装置发送第二指示信息。
其中,第二指示信息用于指示容器管理装置为待处理业务发送至新的目标容器组对应的虚拟网络交换组件。
在一种可能的实施方式中,调用目标容器组对应的微服务处理待处理业务之后,若获取到目标容器组的状态信息为:目标容器组发生故障的故障信息,则利用流量管理中心将目标容器组发生故障的故障信息上报至负载均衡器,以使负载均衡器从多个容器组中选择新的目标容器组,并向容器管理装置发送更新后的第一指示信息。
在一种可能的实施方式中,调用目标容器组对应的微服务处理待处理业务之后,若获取到多个容器组的状态信息为:多个容器组全部发生故障的故障信息,则利用流量管理中心将多个容器组全部发生故障的故障信息上报至负载均衡器,并利用负载均衡器将待处理业务发送至第二数据中心。
其中,第二数据中心为至少两个数据中心中除第一数据中心以外的其他数据中心。
在一种可能的实施方式中,若待处理业务为异地可执行类型的业务。
则调用目标容器组对应的微服务处理待处理业务之后,若接收到多个容器组的状态信息为:多个容器组全部发生故障的故障信息,则指示目标容器组对应的网络虚拟交换组件将待处理业务转发至第二数据中心中的任意一个容器组对应的网络虚拟交换组件中,以使第二数据中心中的任意一个容器组对应的网络虚拟交换组件对待处理业务继续进行处理。
其中,第二数据中心为至少两个数据中心中除第一数据中心以外的其他数据中心。
在本申请实施例提供的业务处理方法中,针对调用目标容器组对应的微服务处理待处理业务之后的各种情况该如何进行处理,上述在介绍业务处理***的过程中均有说明,此处不在进行赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种业务处理***,其特征在于,所述***包括异地部署的至少两个数据中心;其中,第一数据中心中包括:负载均衡器、流量管理中心、容器管理装置、多个容器组、每个容器组对应的虚拟网络交换组件、以及每个容器组对应的微服务;所述第一数据中心为所述至少两个数据中心中的任意一个数据中心;每个容器组包括至少一个容器;
每个容器组对应的虚拟网络交换组件用于监测对应的容器组的状态信息,并上报对应的容器组的状态信息至所述流量管理中心;
所述流量管理中心用于从所述多个容器组对应的虚拟网络交换组件获取所述多个容器组的状态信息,并上报到所述负载均衡器;
所述负载均衡器用于接收待处理业务,并根据所述流量管理中心上报的所述多个容器组的状态信息,向所述容器管理装置发送第一指示信息;所述第一指示信息用于指示所述容器管理装置将所述待处理业务发送至目标容器组对应的虚拟网络交换组件;
所述容器管理装置用于接收所述第一指示信息,并基于所述第一指示信息将所述待处理业务发送至目标容器组对应的虚拟网络交换组件;
所述目标容器组用于调用所述目标容器组对应的微服务,处理所述目标容器组对应的虚拟网络交换组件接收的所述待处理业务。
2.根据权利要求1所述的***,其特征在于,所述流量管理中心还用于:
所述目标容器组对应的微服务处理所述待处理业务之后,若接收到所述目标容器组对应的网络虚拟交换组件上报的状态信息为:所述目标容器组发生故障的故障信息,则从所述多个容器组中选择新的目标容器组,向所述容器管理装置发送第二指示信息;所述第二指示信息用于指示所述容器管理装置将所述待处理业务发送至所述新的目标容器组对应的虚拟网络交换组件。
3.根据权利要求1所述的***,其特征在于,所述流量管理中心还用于:
所述目标容器组对应的微服务处理所述待处理业务之后,若接收到所述目标容器组对应的网络虚拟交换组件上报的状态信息为:所述目标容器组发生故障的故障信息,则将所述目标容器组发生故障的故障信息上报至所述负载均衡器,以使所述负载均衡器从所述多个容器组中选择新的目标容器组,并向所述容器管理装置发送更新后的第一指示信息。
4.根据权利要求1所述的***,其特征在于,所述流量管理中心还用于:
所述目标容器组对应的微服务处理所述待处理业务之后,若接收到所述多个容器组的状态信息为:所述多个容器组全部发生故障的故障信息,则将所述多个容器组全部发生故障的故障信息上报至所述负载均衡器,以使所述负载均衡器将所述待处理业务发送至第二数据中心;所述第二数据中心为所述至少两个数据中心中除所述第一数据中心以外的其他数据中心。
5.根据权利要求1所述的***,其特征在于,所述待处理业务为异地可执行类型的业务;所述流量管理中心还用于:
所述目标容器组对应的微服务处理所述待处理业务之后,若接收到所述多个容器组的状态信息为:所述多个容器组全部发生故障的故障信息,则向所述目标容器组对应的网络虚拟交换组件发送第三指示信息,以使所述目标容器组对应的网络虚拟交换组件将所述待处理业务转发至第二数据中心中的任意一个容器组对应的网络虚拟交换组件中继续进行处理;所述第二数据中心为所述至少两个数据中心中除所述第一数据中心以外的其他数据中心。
6.一种业务处理方法,其特征在于,应用于业务处理***,所述方法包括:所述业务处理***包括异地部署的至少两个数据中心;所述至少两个数据中心中的任意一个数据中心作为第一数据中心;
在所述第一数据中心中接收待处理业务,并利用流量管理中心获取多个容器组的状态信息;所述多个容器组的状态信息为每个容器组对应的虚拟网络交换组件监测的;
根据所述多个容器组的状态信息,从所述多个容器组中选择目标容器组;
将所述待处理业务发送至所述目标容器组对应的虚拟网络交换组件中,并调用所述目标容器组对应的微服务处理所述待处理业务。
7.根据权利要求6所述的方法,其特征在于,所述调用所述目标容器组对应的微服务处理所述待处理业务之后,所述方法还包括:
若获取到所述目标容器组的状态信息为:所述目标容器组发生故障的故障信息,则从所述多个容器组中选择新的目标容器组,利用所述流量管理中心向容器管理装置发送第二指示信息;所述第二指示信息用于指示所述容器管理装置将所述待处理业务发送至所述新的目标容器组对应的虚拟网络交换组件。
8.根据权利要求6所述的方法,其特征在于,所述调用所述目标容器组对应的微服务处理所述待处理业务之后,所述方法还包括:
若接收到所述目标容器组对应的网络虚拟交换组件上报的状态信息为:所述目标容器组发生故障的故障信息,则利用所述流量管理中心将所述目标容器组发生故障的故障信息上报至负载均衡器,以使所述负载均衡器从所述多个容器组中选择新的目标容器组,并向容器管理装置发送更新后的第一指示信息,所述第一指示信息用于指示所述容器管理装置将所述待处理业务发送至目标容器组对应的虚拟网络交换组件。
9.根据权利要求6所述的方法,其特征在于,所述调用所述目标容器组对应的微服务处理所述待处理业务之后,所述方法还包括:
若获取到所述多个容器组的状态信息为:所述多个容器组全部发生故障的故障信息,则利用所述流量管理中心将所述多个容器组全部发生故障的故障信息上报至负载均衡器,并利用所述负载均衡器将所述待处理业务发送至第二数据中心;所述第二数据中心为所述至少两个数据中心中除所述第一数据中心以外的其他数据中心。
10.根据权利要求6所述的方法,其特征在于,所述待处理业务为异地可执行类型的业务;所述调用所述目标容器组对应的微服务处理所述待处理业务之后,所述方法还包括:
若接收到所述多个容器组的状态信息为:所述多个容器组全部发生故障的故障信息,则指示所述目标容器组对应的网络虚拟交换组件将所述待处理业务转发至第二数据中心中的任意一个容器组对应的网络虚拟交换组件中,以使所述第二数据中心中的任意一个容器组对应的网络虚拟交换组件对所述待处理业务继续进行处理;所述第二数据中心为所述至少两个数据中心中除所述第一数据中心以外的其他数据中心。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111638161.XA CN114390059B (zh) | 2021-12-29 | 2021-12-29 | 一种业务处理***及业务处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111638161.XA CN114390059B (zh) | 2021-12-29 | 2021-12-29 | 一种业务处理***及业务处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114390059A CN114390059A (zh) | 2022-04-22 |
CN114390059B true CN114390059B (zh) | 2024-02-06 |
Family
ID=81199393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111638161.XA Active CN114390059B (zh) | 2021-12-29 | 2021-12-29 | 一种业务处理***及业务处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114390059B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115314945B (zh) * | 2022-08-22 | 2024-06-21 | 中国联合网络通信集团有限公司 | 一种业务处理方法、装置、服务器及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107231221A (zh) * | 2016-03-25 | 2017-10-03 | 阿里巴巴集团控股有限公司 | 数据中心间的业务流量控制方法、装置及*** |
CN111464592A (zh) * | 2020-03-09 | 2020-07-28 | 平安科技(深圳)有限公司 | 基于微服务的负载均衡方法、装置、设备及存储介质 |
CN112671882A (zh) * | 2020-12-18 | 2021-04-16 | 上海安畅网络科技股份有限公司 | 一种基于微服务的同城双活***和方法 |
-
2021
- 2021-12-29 CN CN202111638161.XA patent/CN114390059B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107231221A (zh) * | 2016-03-25 | 2017-10-03 | 阿里巴巴集团控股有限公司 | 数据中心间的业务流量控制方法、装置及*** |
CN111464592A (zh) * | 2020-03-09 | 2020-07-28 | 平安科技(深圳)有限公司 | 基于微服务的负载均衡方法、装置、设备及存储介质 |
CN112671882A (zh) * | 2020-12-18 | 2021-04-16 | 上海安畅网络科技股份有限公司 | 一种基于微服务的同城双活***和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114390059A (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104168333B (zh) | Proxzone服务平台的工作方法 | |
WO2020147331A1 (zh) | 一种微服务监控方法及*** | |
US8914449B2 (en) | Push messaging platform with high scalability and high availability | |
EP3490224A1 (en) | Data synchronization method and system | |
CN105450757A (zh) | 一种服务管理方法及*** | |
CN109101196A (zh) | 主节点切换方法、装置、电子设备及计算机存储介质 | |
CN103107906B (zh) | 一种板卡间通信方法、板卡及通信机框设备 | |
CN102891868A (zh) | 一种分布式***的负载均衡方法及装置 | |
CN103986748A (zh) | 实现服务化的方法和装置 | |
CN116048538B (zh) | 用于dpu的服务网格部署方法及装置 | |
CN114390059B (zh) | 一种业务处理***及业务处理方法 | |
KR101028298B1 (ko) | 통신 네트워크에서 데이터 처리 장치를 분배하는 방법 및 시스템 | |
JP2005301436A (ja) | クラスタシステムおよびクラスタシステムにおける障害回復方法 | |
CN106534758B (zh) | 会议备份方法和装置 | |
EP1867081B1 (en) | Distributed redundancy capacity licensing in a telecommunication network element | |
CN108781215B (zh) | 网络服务实现方法、服务控制器及通信*** | |
US11595471B1 (en) | Method and system for electing a master in a cloud based distributed system using a serverless framework | |
KR101883671B1 (ko) | 노드 분산 방법 및 이를 수행하는 관리 서버 | |
CN115484208A (zh) | 一种基于云安全资源池的分布式引流***和方法 | |
US11757987B2 (en) | Load balancing systems and methods | |
CN115065686A (zh) | 分布式负载均衡***的配置方法、装置及*** | |
CN111082972B (zh) | 基于分布式集群实现弹性扩展的方法及分布式集群架构 | |
CN114615320A (zh) | 服务治理方法、装置、电子设备及计算机可读存储介质 | |
CN113949631A (zh) | 客户端容灾的处理方法、***及电子设备 | |
CN113127271A (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 |