CN113626138B - 一种应用程序访问方法和相关装置 - Google Patents
一种应用程序访问方法和相关装置 Download PDFInfo
- Publication number
- CN113626138B CN113626138B CN202110744918.7A CN202110744918A CN113626138B CN 113626138 B CN113626138 B CN 113626138B CN 202110744918 A CN202110744918 A CN 202110744918A CN 113626138 B CN113626138 B CN 113626138B
- Authority
- CN
- China
- Prior art keywords
- application
- initial
- service
- instance
- service 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000013507 mapping Methods 0.000 claims abstract description 50
- 238000012545 processing Methods 0.000 claims description 10
- 238000009826 distribution Methods 0.000 claims description 7
- 238000005457 optimization Methods 0.000 abstract description 10
- 238000005516 engineering process Methods 0.000 abstract description 9
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 4
- IUVCFHHAEHNCFT-INIZCTEOSA-N 2-[(1s)-1-[4-amino-3-(3-fluoro-4-propan-2-yloxyphenyl)pyrazolo[3,4-d]pyrimidin-1-yl]ethyl]-6-fluoro-3-(3-fluorophenyl)chromen-4-one Chemical compound C1=C(F)C(OC(C)C)=CC=C1C(C1=C(N)N=CN=C11)=NN1[C@@H](C)C1=C(C=2C=C(F)C=CC=2)C(=O)C2=CC(F)=CC=C2O1 IUVCFHHAEHNCFT-INIZCTEOSA-N 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction 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
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001550 time effect Effects 0.000 description 1
Images
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/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/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例公开了一种应用程序访问方法和相关装置,获取针对应用程序并发的多个业务请求,所述应用程序具有容器化的多个应用实例;基于负载均衡,向所述多个应用实例分配所述多个业务请求,其中,分配了所述业务请求的应用实例为目标实例;根据应用实例与节点的映射关系,从部署了所述目标实例的节点获取所述目标实例所分配业务请求对应的业务数据。容器化应用程序基于多副本多实例技术的性能优化方法,该方法能够极大的提高容器化应用程序的整体性能和服务质量,提升用户的使用体验和口碑。
Description
技术领域
本申请涉及云计算技术领域,特别是涉及一种应用程序访问方法和相关装置。
背景技术
传统应用系统受制于部署方式复杂、代码结构耦合度高、数据持久化方式单一、资源负载消耗高等因素,在当前在大规模推进微服务的背景下,其实现资源利用率更省、开发迭代与交付部署更快、内部结构方便灵活的容器化改造已成为大势所趋。
容器类似于虚拟机,但是它们具有被放宽的隔离属性,可以在应用程序之间共享操作系统。容器是轻量级的,具有自己的文件系统、CPU、内存、进程空间等。基于容器部署的应用系统可以实现应用程序与基础架构的分离,并且可以进行跨云和跨操作系统版本的移植。Kubernetes是一个以容器为中心的基础架构,可以实现在物理集群或虚拟机集群上调度和运行容器,提供容器自动部署、扩展和管理的开源平台。满足了应用程序在生产环境中的一些通用需求:应用实例副本、水平自动扩展、命名与发现、负载均衡、滚动升级、资源监控等。
相关技术中,在对应用程序进行容器化适配改造成为容器化应用的过程中,往往只关注于应用程序代码本身基于容器的编译运行,而大都忽略了应用系统容器化后其系统性能的改善和提升。
发明内容
为了解决上述技术问题,本申请提供了一种应用程序访问方法和相关装置,容器化应用程序基于多副本多实例技术的性能优化方法,该方法能够极大的提高容器化应用程序的整体性能和服务质量,提升用户的使用体验和口碑。
本申请实施例公开了如下技术方案:
一方面,本申请实施例提供了一种应用程序访问方法,所述方法包括:
获取针对应用程序并发的多个业务请求,所述应用程序具有容器化的多个应用实例;
基于负载均衡,向所述多个应用实例分配所述多个业务请求,其中,分配了所述业务请求的应用实例为目标实例;
根据应用实例与节点的映射关系,从所述目标实例对应的节点获取所述目标实例所分配业务请求对应的业务数据。
可选的,所述应用实例包括多个应用副本,所述方法还包括:
从所述目标实例所包括的应用副本中,确定处理所述业务请求的应用副本;
所述根据应用实例与节点的映射关系,从所述目标实例对应的节点获取所述目标实例所分配业务请求对应的业务数据,包括:
根据应用实例中应用副本与节点的映射关系,从所述目标实例的应用副本对应的节点获取所述目标实例所分配业务请求对应的业务数据。
可选的,所述方法还包括:
确定所述应用程序对应的多个初始应用实例;
根据预设的业务请求集合和所述多个初始应用实例,确定满足服务质量所需的多个初始节点;
根据所述业务请求集合、所述多个初始应用实例和所述多个初始节点对所述应用程序进行初始化部署。
可选的,所述初始应用实例包括多个初始应用副本,所述方法还包括:
根据所述初始化部署,建立所述业务请求集合中业务请求与所述多个初始应用实例中初始应用副本的第一映射关系,以及所述多个初始应用实例的应用副本与所述多个初始节点的第二映射关系。
可选的,所述方法还包括:
根据所述多个业务请求的请求规模,动态调整所述初始化部署中应用实例和节点的数量,并基于调整更新所述第一映射关系和所述第二映射关系。
可选的,所述方法还包括:
根据所述应用程序所对应节点的处理能力,确定所述节点的节点类型;
所述基于负载均衡,向所述多个应用实例分配所述多个业务请求,包括:
基于所述负载均衡和所述节点类型,根据所述多个业务请求对应的服务需求向所述多个应用实例分配所述多个业务请求。
另一方面,本申请实施例提供了一种应用程序访问装置,所述装置包括获取单元和分配单元:
所述获取单元,用于获取针对应用程序并发的多个业务请求,所述应用程序具有容器化的多个应用实例;
所述分配单元,用于基于负载均衡,向所述多个应用实例分配所述多个业务请求,其中,分配了所述业务请求的应用实例为目标实例;
所述获取单元还用于根据应用实例与节点的映射关系,从所述目标实例对应的节点获取所述目标实例所分配业务请求对应的业务数据。
可选的,所述应用实例包括多个应用副本,所述装置还包括确定单元:
所述确定单元,用于从所述目标实例所包括的应用副本中,确定处理所述业务请求的应用副本;
所述获取单元还用于:
根据应用实例中应用副本与节点的映射关系,从所述目标实例的应用副本对应的节点获取所述目标实例所分配业务请求对应的业务数据。
可选的,所述装置还包括初始化单元,所述初始化单元用于:
确定所述应用程序对应的多个初始应用实例;
根据预设的业务请求集合和所述多个初始应用实例,确定满足服务质量所需的多个初始节点;
根据所述业务请求集合、所述多个初始应用实例和所述多个初始节点对所述应用程序进行初始化部署。
可选的,所述初始应用实例包括多个初始应用副本,所述初始化单元还用于:
根据所述初始化部署,建立所述业务请求集合中业务请求与所述多个初始应用实例中初始应用副本的第一映射关系,以及所述多个初始应用实例的应用副本与所述多个初始节点的第二映射关系。
可选的,所述装置还包括调整单元:
所述调整单元,用于根据所述多个业务请求的请求规模,动态调整所述初始化部署中应用实例和节点的数量,并基于调整更新所述第一映射关系和所述第二映射关系。
可选的,所述装置还包括确定单元:
所述确定单元,用于根据所述应用程序所对应节点的处理能力,确定所述节点的节点类型;
所述分配单元还用于基于所述负载均衡和所述节点类型,根据所述多个业务请求对应的服务需求向所述多个应用实例分配所述多个业务请求。
由上述技术方案可以看出,获取针对应用程序并发的多个业务请求,所述应用程序具有容器化的多个应用实例;基于负载均衡,向所述多个应用实例分配所述多个业务请求,其中,分配了所述业务请求的应用实例为目标实例;根据应用实例与节点的映射关系,从部署了所述目标实例的节点获取所述目标实例所分配业务请求对应的业务数据。容器化应用程序基于多副本多实例技术的性能优化方法,该方法能够极大的提高容器化应用程序的整体性能和服务质量,提升用户的使用体验和口碑。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种应用程序访问方法的方法流程图;
图2为本申请实施例提供的一种应用程序访问系统的示意图;
图3为本申请实施例提供的一种基于应用实例的请求分发示意图;
图4为本申请实施例提供的一种基于应用副本的应用部署示意图;
图5为本申请实施例提供的一种应用程序访问装置的装置结构图。
具体实施方式
下面结合附图,对本申请的实施例进行描述。
针对相关技术中的问题,本申请实施例提供了一种基容器可自动化部署、易横向扩展、基于负载的请求调度等技术特性提出一种容器化应用基于多副本多实例技术的性能优化方法,能够极大的提高容器化应用的整体性能和服务质量,提升用户的使用体验和口碑。
可选的,本申请实施例可以基于Kubernetes平台实现,Kubernetes属于一个开源的容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。
图1为本申请实施例提供的一种应用程序访问方法的方法流程图,所述方法包括:
S101:获取针对应用程序并发的多个业务请求。
在本申请实施例中,所述应用程序具有容器化的多个应用实例。
一个应用程序部署多个应用实例,每个应用实例设置不同的访问域名,通过负载均衡的设置以一个对外访问域名的方式暴露出去,可以起到分发并发请求,实现负载均衡,提高响应性能的目的。
在一种可能的实现方式中,一个应用实例还可以包括多个应用副本。一实例多副本针对的是容器化应用在kubernetes上的一种机制,即部署的一个容器应用可以支持在初始化部署时设置多个副本,对一个应用程序的应用实例来说,在实例层也可以通过多副本技术实现实例内部的负载均衡,提高这个实例的整体性能。
不同的应用实例可以设置不同数量的应用副本,也可以设置相同数量的应用副本,本申请不做限定。同理,不同的应用程序可以设置不同数量的应用实例,也可以设置相同数量的应用实例,本申请不做限定。
如图2所示,示出了本申请实施例的一种应用程序访问系统。容器化应用程序包括应用层、副本层和物理层。在本图示中,示例性的,应用层包括三个应用实例,每个应用实例包括两个应用副本,物理层包括kubernetes中的多个节点。
物理层:Kubernetes集群的节点(node),提供计算服务,用于部署、承载和运行pod,每个节点包含运行pod所需的服务,节点由Kubernetes集群的控制面负责管理。
副本层:每个容器化应用的实例由包括多个副本,每个副本在一个指定的pod上执行,该pod运行在某个节点上。
应用层:由一组容器化的应用实例通过外接的负载均衡器对外发布的一个应用,当有大规模的并发用户发起服务请求时,负载均衡器会根据负载均衡策略分发用户请求到不同的应用实例上,从而实现应用的整体负载均衡和较高响应时效,进而达到整体性能和体验提升的效果。
S102:基于负载均衡,向所述多个应用实例分配所述多个业务请求。
其中,分配了所述业务请求的应用实例为目标实例。
在应用实例包括多个应用副本时,可以从所述目标实例所包括的应用副本中,确定处理所述业务请求的应用副本。具体的确定方式也可以参照负载均衡实现。
在一种可能的实现方式中,根据所述应用程序所对应节点的处理能力,根据所述节点的节点类型。
相应的,S102包括:基于所述负载均衡和所述节点类型,根据所述多个业务请求对应的服务需求向所述多个应用实例分配所述多个业务请求。
S103:根据应用实例与节点的映射关系,从部署了所述目标实例的节点获取所述目标实例所分配业务请求对应的业务数据。
针对S103,在一种可能的实现方式中,可以根据应用实例中应用副本与节点的映射关系,从所述目标实例的应用副本对应的节点获取所述目标实例所分配业务请求对应的业务数据。
由此可见,获取针对应用程序并发的多个业务请求,所述应用程序具有容器化的多个应用实例;基于负载均衡,向所述多个应用实例分配所述多个业务请求,其中,分配了所述业务请求的应用实例为目标实例;根据应用实例与节点的映射关系,从部署了所述目标实例的节点获取所述目标实例所分配业务请求对应的业务数据。容器化应用程序基于多副本多实例技术的性能优化方法,该方法能够极大的提高容器化应用程序的整体性能和服务质量,提升用户的使用体验和口碑。
本申请实施例还提供了一种对容器化的应用程序进行初始化的方式。
步骤1:确定所述应用程序对应的多个初始应用实例。
步骤2:根据预设的业务请求集合和所述多个初始应用实例,确定满足服务质量所需的多个初始节点。
步骤3:根据所述业务请求集合、所述多个初始应用实例和所述多个初始节点对所述应用程序进行初始化部署。
在一种可能的实现方式中,所述初始应用实例包括多个初始应用副本,所述方法还包括:
根据所述初始化部署,建立所述业务请求集合中业务请求与所述多个初始应用实例中初始应用副本的第一映射关系,以及所述多个初始应用实例的应用副本与所述多个初始节点的第二映射关系。
具体的,应用程序基于Kubernetes完成容器化的适配改造,完成业务前端与后台数据库的分离,进而支持多副本多实例的部署运行方式。
设T={T1,T2,…,Tt}为用户的业务请求集合。用户请求Ti(i=1,2,…,t)即表示附图3中的一个业务请求。
设A={A1,A2,…,An}为容器化应用所需部署的实例数集合,设Node= {Node1,Node2,…,Noden}为Kubernetes集群节点的类型集合。确定应用在单实例单副本下部署到节点所需的硬件(CPU、内存、存储等)资源要求,根据Kubernetes集群节点的实际情况确定节点类型集合Node及Node中每种节点类型(如Node1、Node2、Node3)的硬件资源(CPU、内存、存储等) 提供能力。
在已确定用户的业务请求集合T和Kubernetes集群节点类型集合Node 的情况下,确定应用集合A所需部署的实例数,及初始状态下每个实例An的默认副本数,即确定集合A={A11,A21,…,Ann}与业务请求T之间的映射关系。在确定应用集合A的条件下,根据应用的副本Ann的资源需求、集合Node 中每种类型节点的资源提供能力,在保证所有用户请求都能满足服务质量要求及所使用的节点数最少的目标下,确定集合Node中每种类型节点的数量以及与应用副本的部署映射关系,可基于此建立组合优化问题的相关数学模型,求解元素间的映射关系。
当完成容器化应用的初始化部署后,每个实例间通过外接负载均衡器对外提供服务并进行请求的分发,而对于每个实例的副本而言,其根据设定的内部负载均衡和伸缩策略,在设定初始的副本数及伸缩阈值、步长后,当应用进入运行态时,随着访问此实例用户请求规模的变化,应用实例的副本数会根据制定的策略在默认初始副本数的基础上进行弹性的副本数增加或者减少,以此达到提高应用的整体性能、节约资源成本的目的。
需要说明的是,上述仅为初始化的构建操作,当实际投入使用时,可以基于应用场景中业务请求的并发量等情况,有机的动态调整系统中应用副本、节点的数量和规模。即在一种可能的实现方式中,根据所述多个业务请求的请求规模,动态调整所述初始化部署中应用实例和节点的数量,并基于调整更新所述第一映射关系和所述第二映射关系。
也仅仅是,当处于运行态时,应用副本可以因为节点出现故障进行节点间的调度漂移,这可以基于Kubernetes自带的机制进行指挥与调度的。
接下来,基于上述图1-2所示的原理,容器化应用基于多副本多实例技术的性能优化的方法,主要涉及对容器化应用的两个阶段的优化过程:基于实例的请求分发映射过程和基于副本的应用部署映射过程。其中:
基于实例的请求分发映射过程如附图3所示,用户1、用户2、用户3、用户4同时对应用A发送业务请求,为了满足用户的并发和应用的性能,应用A采用多实例的方式分别部署了2个应用实例A1、A2,通过外接的负载均衡设备将用户1和用户2的业务请求T1、T2映射到应用实例A1上,将用户3和用户4的业务请求T3、T4映射到应用实例A2上,同时Kubernetes集群的节点类型有Node1、Node 2、Node 3三种,分别提供不同规格(CPU、内存)的计算能力。第一阶段的优化即通过对用户访问请求并发量的统计分析确定了应用所需部署的实例数并通过负载均衡器分发用户请求到应用实例的映射关系。
基于副本的应用部署映射过程如附图4所示,当用户的请求发送到应用实例时,应用实例会基于Kubernetes提供的多副本机制,通过设定实例的副本数、负载和伸缩策略,采用多个副本(pod)来对应用实例中的用户请求进行请求与副本的映射分发。所有应用实例的全部副本通过统计分析其资源要求量分别部署到具有满足其资源需求能力的Kubernetes集群节点上,如图,应用实例A1应用包括两个副本A11和A12,以此分别响应对应的业务请求,根据其对计算资源的消耗和需求能力,满足其部署条件需使用类型为Node1的两个节点Node11、Node12,通过Kubernetes管理面将应用实例A1的两个副本分别部署在Node11和Node12上。第二阶段的优化即通过对应用实例的用户访问量分析设定应用副本的初始数及相关策略并确定初始状态下全部的应用副本与节点间的部署映射关系。
图5为本申请实施例提供的一种应用程序访问装置的装置结构图,所述装置包括获取单元501和分配单元502:
所述获取单元501,用于获取针对应用程序并发的多个业务请求,所述应用程序具有容器化的多个应用实例;
所述分配单元502,用于基于负载均衡,向所述多个应用实例分配所述多个业务请求,其中,分配了所述业务请求的应用实例为目标实例;
所述获取单元501还用于根据应用实例与节点的映射关系,从所述目标实例对应的节点获取所述目标实例所分配业务请求对应的业务数据。
可选的,所述应用实例包括多个应用副本,所述装置还包括确定单元:
所述确定单元,用于从所述目标实例所包括的应用副本中,确定处理所述业务请求的应用副本;
所述获取单元还用于:
根据应用实例中应用副本与节点的映射关系,从所述目标实例的应用副本对应的节点获取所述目标实例所分配业务请求对应的业务数据。
可选的,所述装置还包括初始化单元,所述初始化单元用于:
确定所述应用程序对应的多个初始应用实例;
根据预设的业务请求集合和所述多个初始应用实例,确定满足服务质量所需的多个初始节点;
根据所述业务请求集合、所述多个初始应用实例和所述多个初始节点对所述应用程序进行初始化部署。
可选的,所述初始应用实例包括多个初始应用副本,所述初始化单元还用于:
根据所述初始化部署,建立所述业务请求集合中业务请求与所述多个初始应用实例中初始应用副本的第一映射关系,以及所述多个初始应用实例的应用副本与所述多个初始节点的第二映射关系。
可选的,所述装置还包括调整单元:
所述调整单元,用于根据所述多个业务请求的请求规模,动态调整所述初始化部署中应用实例和节点的数量,并基于调整更新所述第一映射关系和所述第二映射关系。
可选的,所述装置还包括确定单元:
所述确定单元,用于根据所述应用程序所对应节点的处理能力,确定所述节点的节点类型;
所述分配单元还用于基于所述负载均衡和所述节点类型,根据所述多个业务请求对应的服务需求向所述多个应用实例分配所述多个业务请求。
由上述技术方案可以看出,获取针对应用程序并发的多个业务请求,所述应用程序具有容器化的多个应用实例;基于负载均衡,向所述多个应用实例分配所述多个业务请求,其中,分配了所述业务请求的应用实例为目标实例;根据应用实例与节点的映射关系,从部署了所述目标实例的节点获取所述目标实例所分配业务请求对应的业务数据。容器化应用程序基于多副本多实例技术的性能优化方法,该方法能够极大的提高容器化应用程序的整体性能和服务质量,提升用户的使用体验和口碑。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:read-only memory,缩写:ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (8)
1.一种应用程序访问方法,其特征在于,所述方法包括:
获取针对应用程序并发的多个业务请求,所述应用程序具有容器化的多个应用实例,所述应用实例包括多个应用副本,所述应用副本与节点之间具有映射关系;
基于负载均衡,向所述多个应用实例分配所述多个业务请求,其中,分配了所述业务请求的应用实例为目标实例;
从所述目标实例所包括的应用副本中,确定处理所述业务请求的应用副本;
根据所述映射关系,从所述目标实例的应用副本对应的节点获取所述目标实例所分配业务请求对应的业务数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述应用程序对应的多个初始应用实例;
根据预设的业务请求集合和所述多个初始应用实例,确定满足服务质量所需的多个初始节点;
根据所述业务请求集合、所述多个初始应用实例和所述多个初始节点对所述应用程序进行初始化部署。
3.根据权利要求2所述的方法,其特征在于,所述初始应用实例包括多个初始应用副本,所述方法还包括:
根据所述初始化部署,建立所述业务请求集合中业务请求与所述多个初始应用实例中初始应用副本的第一映射关系,以及所述多个初始应用实例的应用副本与所述多个初始节点的第二映射关系。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
根据所述多个业务请求的请求规模,动态调整所述初始化部署中应用实例和节点的数量,并基于调整更新所述第一映射关系和所述第二映射关系。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述方法还包括:
根据所述应用程序所对应节点的处理能力,确定所述节点的节点类型;
所述基于负载均衡,向所述多个应用实例分配所述多个业务请求,包括:
基于所述负载均衡和所述节点类型,根据所述多个业务请求对应的服务需求向所述多个应用实例分配所述多个业务请求。
6.一种应用程序访问装置,其特征在于,所述装置包括获取单元、分配单元和确定单元:
所述获取单元,用于获取针对应用程序并发的多个业务请求,所述应用程序具有容器化的多个应用实例,所述应用实例包括多个应用副本,所述应用副本与节点之间具有映射关系;
所述分配单元,用于基于负载均衡,向所述多个应用实例分配所述多个业务请求,其中,分配了所述业务请求的应用实例为目标实例;
所述确定单元,用于从所述目标实例所包括的应用副本中,确定处理所述业务请求的应用副本;
所述获取单元还用于根据所述映射关系,从所述目标实例的应用副本对应的节点获取所述目标实例所分配业务请求对应的业务数据。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括初始化单元,所述初始化单元用于:
确定所述应用程序对应的多个初始应用实例;
根据预设的业务请求集合和所述多个初始应用实例,确定满足服务质量所需的多个初始节点;
根据所述业务请求集合、所述多个初始应用实例和所述多个初始节点对所述应用程序进行初始化部署。
8.根据权利要求7所述的装置,其特征在于,所述初始应用实例包括多个初始应用副本,所述初始化单元还用于:
根据所述初始化部署,建立所述业务请求集合中业务请求与所述多个初始应用实例中初始应用副本的第一映射关系,以及所述多个初始应用实例的应用副本与所述多个初始节点的第二映射关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110744918.7A CN113626138B (zh) | 2021-06-30 | 2021-06-30 | 一种应用程序访问方法和相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110744918.7A CN113626138B (zh) | 2021-06-30 | 2021-06-30 | 一种应用程序访问方法和相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113626138A CN113626138A (zh) | 2021-11-09 |
CN113626138B true CN113626138B (zh) | 2022-12-20 |
Family
ID=78378849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110744918.7A Active CN113626138B (zh) | 2021-06-30 | 2021-06-30 | 一种应用程序访问方法和相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113626138B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114827274A (zh) * | 2022-04-15 | 2022-07-29 | 支付宝(杭州)信息技术有限公司 | 请求处理方法以及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107547596B (zh) * | 2016-06-27 | 2022-01-25 | 中兴通讯股份有限公司 | 一种基于Docker的云平台控制方法及装置 |
CN111399855B (zh) * | 2020-03-09 | 2023-10-20 | 山东省电子口岸有限公司 | 一种基于容器技术的自动化应用实例发布方法 |
CN112437129B (zh) * | 2020-11-10 | 2022-07-19 | 广州虎牙科技有限公司 | 集群的管理方法及集群的管理装置 |
CN112463290A (zh) * | 2020-11-10 | 2021-03-09 | 中国建设银行股份有限公司 | 动态调整计算容器的数量的方法、系统、装置和存储介质 |
-
2021
- 2021-06-30 CN CN202110744918.7A patent/CN113626138B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113626138A (zh) | 2021-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11553034B2 (en) | Server computer management system for supporting highly available virtual desktops of multiple different tenants | |
CN107743611B (zh) | 优化动态资源分配的系统、方法和计算机存储介质 | |
CN108337109B (zh) | 一种资源分配方法及装置和资源分配系统 | |
CN108293041B (zh) | 分布式系统、资源容器的分配方法、资源管理器及应用控制器 | |
US20180157729A1 (en) | Distributed in-memory database system and method for managing database thereof | |
CN109684074B (zh) | 物理机资源分配方法及终端设备 | |
CN112424751A (zh) | 云平台上的集群资源分配与管理方法 | |
WO2022062650A1 (zh) | 基于kubernetes的计算设备共享方法、装置、设备及存储介质 | |
CN104639594A (zh) | 分配物理资源和虚拟资源的系统和方法 | |
US20070240160A1 (en) | Managing execution of programs by multiple computing systems | |
US10728169B1 (en) | Instance upgrade migration | |
CN103810023A (zh) | 一种云平台中分布式应用的智能部署方法及系统 | |
CN104679594B (zh) | 一种中间件分布式计算方法 | |
CN107346264A (zh) | 一种虚拟机负载均衡调度的方法、装置和服务器设备 | |
CN103200020A (zh) | 一种资源部署方法和系统 | |
KR102650892B1 (ko) | 지역적으로 분산된 다중 클라우드 환경에서의 컨테이너 오케스트레이션 장치 및 이를 이용한 방법 | |
CN104050042A (zh) | Etl作业的资源分配方法及装置 | |
CN105094997A (zh) | 一种云计算主机节点间物理内存共享方法和系统 | |
US20080184247A1 (en) | Method and System for Resource Allocation | |
JP2022505720A (ja) | コンテナ化されたリレーショナルデータベースのi/o消費を効果的に減少させる方法 | |
US10761869B2 (en) | Cloud platform construction method and cloud platform storing image files in storage backend cluster according to image file type | |
CN110569302A (zh) | 一种基于lucene的分布式集群的物理隔离的方法及装置 | |
CN110086726A (zh) | 一种自动切换Kubernetes主节点的方法 | |
CN110221920A (zh) | 部署方法、装置、存储介质及系统 | |
Kukade et al. | Auto-scaling of micro-services using containerization |
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 |