CN111290828A - 使用容器编排服务进行动态路由 - Google Patents
使用容器编排服务进行动态路由 Download PDFInfo
- Publication number
- CN111290828A CN111290828A CN201910664883.9A CN201910664883A CN111290828A CN 111290828 A CN111290828 A CN 111290828A CN 201910664883 A CN201910664883 A CN 201910664883A CN 111290828 A CN111290828 A CN 111290828A
- Authority
- CN
- China
- Prior art keywords
- pod
- resource
- iflow
- computer
- service
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 60
- 230000010354 integration Effects 0.000 claims abstract description 26
- 230000015654 memory Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 14
- 239000003795 chemical substances by application Substances 0.000 description 13
- 230000008569 process Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 238000009826 distribution Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 2
- 108010014173 Factor X Proteins 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000010420 art technique Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/084—Configuration by using pre-existing information, e.g. using templates or copying from other elements
- H04L41/0846—Configuration by using pre-existing information, e.g. using templates or copying from other elements based on copy from other elements
-
- 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
- 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
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开一般地描述了用于在云中使用资源的方法、软件和系统。由云集成系统部署集成流(iFlow)作为资源。由容器编排服务将资源分配给一个或多个pod。由pod同步代理将映射到资源的iFlow定义复制到相应的pod中。由pod同步代理基于部署到pod中的iFlow为每个资源分配唯一的标签。由云集成系统利用将调用重定向到包含资源的一个或多个pod的规则来创建服务作为资源的端点。
Description
技术领域
本公开涉及处理在云中运行的应用的负载分布。
背景技术
一些云集成系统可能会在消息交换的负载分布上遇到困难,例如,当一个运行时节点上运行太多集成场景时。将集成场景分布到多个节点的现有技术在以动态方式定义路由信息时会遇到限制。集成场景的分布可以通过多种方式完成。例如,一些传统系统使用诸如NGINX的单独的运行时或另一负载平衡器来为网络应用进行路由。可以在分布式系统中安装单独的实例,并且可以在单独的系统中运行配置,但是这造成了一个缺点,即必须维护和更新单独的系统。单独的运行时的使用会干扰平台,并会造成一些必须以额外的复杂性来解决的问题。
发明内容
本公开一般地描述了用于使用技术实现云中的集成场景的分布的计算机实施的方法、软件和系统。一种计算机实施的方法包括:由云集成系统部署集成流(IntegrationFlow,iFlow)作为资源;由容器编排服务将资源分配给一个或多个pod;由pod同步代理将映射到资源的iFlow定义复制到相应的pod中;由pod同步代理基于部署到pod中的iFlow为pod分配唯一的标签;以及由云集成系统利用将调用重定向到包含资源的一个或多个pod的规则来创建服务作为资源的端点。
前述和其他实施方式中各自都可以可选地单独或组合地包括一个或多个以下特征。具体地,一个实施方式可以包括以下所有特征:
在第一方面,与前述任何方面可组合,方法还包括:由云集成系统接收调用特定资源的服务的请求;使用规则确定请求所定向到的特定pod;由云集成系统确定包含特定资源的pod的当前负载;以及使用唯一的标签将请求转发给低负载的pod。
在第二方面,与前述任何方面可组合,其中,低负载基于中央处理器单元(centralprocessor unit,CPU)使用或存储器使用中的一个或多个。
在第三方面,与前述任何方面可组合,其中,确定包含特定资源的pod的当前负载由负载平衡器执行。
在第四方面,与前述任何方面可组合,还包括使用pod同步代理维护关于在每个pod上运行的资源的信息。
在第五方面,与前述任何方面可组合,还包括执行在pod上运行的资源的负载平衡。
在第六方面,与前述任何方面可组合,其中,负载平衡使用容器编排服务访问向服务公开端点的统一资源定位符(Uniform Resource Locator,URL)。
本说明书主题的一个或多个实施方式的细节在附图和以下描述中阐述。从说明书、附图和权利要求中,本主题的其他特征、方面和优点将变得显而易见。
附图说明
图1是用于部署资源的示例环境的框图。
图2是用于处理在云中运行的应用的负载分布的示例环境的框图。
图3是用于部署资源的示例方法的流程图。
图4是用于处理服务请求的示例方法的流程图。
图5是用于使用缩放(scaling)模块将资源分配给新的或其他可用的pod的示例方法的流程图。
图6是用于向新的pod分配资源的示例方法的流程图。
图7是用于提供与本公开中描述的算法、方法、功能、过程、流程和程序相关联的计算功能的示例性计算机系统的框图。
具体实施方式
本公开一般地描述了用于处理在云中运行的应用的负载分布的计算机实施的方法、软件和系统。例如,这些技术可以用来提供将请求路由到应用的方法。这些技术可以使用向外部公开端点的服务和提供运行时实例的pod。一个或多个资源可以部署到每个pod。本公开中描述的技术可以包括可扩展的机制,诸如添加新的资源类型。标签可以用作pod实例的标记,其中每个标签定义了与服务相关联的路由。
本公开中描述的技术可以利用本地技术来解决集成场景中的路由挑战。例如,相同的集成场景可以被部署到多个pod,从而提供集成场景的横向扩展(scaling out)(或负载处理)。从容器编排服务的角度来看,集成场景可以被视为资源,并且可以被部署到一个或多个pod实例。集成场景作为资源被部署之后,可以为每个pod实例分配标签。标签信息可以用于识别哪个pod实例可以用于路由请求。
由本公开中描述的技术产生的优点可以包括以下。使用平台提供的技术意味着不需要部署额外的运行时,诸如通过使用NGINX实例。这可以减少维护和开发工作,因为平台可以简单地处理路由。由于每个集成流都可以用作扩展的平台资源,因此平台本机结构和应用编程接口(Application Programming Interface,API)可以用来独自管理集成流。集成流可以独自缩放,也可以由平台自动缩放。生命周期操作(诸如创建、删除和自动重启)可以以类似于平台资源(诸如pod)的方式进行管理。诸如滚动更新和零停机时间的概念也可以延伸到集成流。由于集成流是由平台管理的虚拟资源,并且因此不直接链接到平台的系统资源,所以集成流可以独立地缩放到其他系统资源,诸如pod和虚拟机。缩放有助于实现可用系统资源的最大密度。
图1是用于部署资源的示例环境100的框图。环境100包括云集成系统102,该云集成系统102可以从客户端/请求系统104接收请求,例如,部署集成流(iFlow)并将iFlow(作为资源)放置到pod实例中的请求。客户端/请求系统104可以包括向云集成系统102发送请求的任何系统。例如,客户端/请求系统104可以包括用户108使用的客户端106。网络110可以将客户端/请求系统104连接到云集成系统102。在一些实施方式中,网络110可以包括一些或全部云集成系统102。接口111可以接收通过网络110从客户端/请求系统104接收到的请求。
云集成系统102包括容器编排服务112,其被配置为处理容器实例的生命周期。云集成系统102还可以执行诸如路由、缩放和API公开的服务。云集成系统102可以处理接收到的、部署iFlow并将iFlow(作为资源)放置到pod实例中的请求。
路由分析模块114可以使用与pod相关联的信息来确定哪些pod将被发送请求。为了支持平台执行的负载平衡,可以使用路由分析来分析每个集成流和pod上的流量。该分析可以产生度量并进行进一步的资源优化,诸如使用容器编排服务触发集成流的增加或减少或集成流从一个pod到另一个pod转移。缩放模块116可以确定何时添加更多pod。
API 118可以作为容器编排服务112的延伸或服务来提供。API可以启用标记的资源的pod标识,包括支持对不同pod的查询和对pod同步代理的查询。示例查询可以是识别在其处资源正在运行的pod的查询。API可以提供pod传输,包括在识别请求将被发送到哪里之后,提供对pod的连接用以发送请求。端点API可以用来管理在其处外部系统可以传达请求的位置。
部署的pod/容器组件120可以被配置为分析pod中的资源并为资源生成标签。部署的pod/容器组件120包括部署的资源/iFlow 122的数据存储装置和至少一个pod同步代理124。当发送pod标识时,pod同步代理124可以向容器编排服务112返回响应。pod同步代理124还可以管理与返回端点API的连接相关联的信息。
存储器126包括对于部署的pod的iFlow定义128的数据存储装置。至少一个处理器130可以执行云集成系统102的处理功能。例如,至少一个处理器130可以运行接口111和容器编排服务112(包括其组件)的指令。
图2是用于处理在云中运行的应用的负载分布的示例环境200的框图。例如,环境200可以包括对应于环境100的操作。
负载平衡器202可以执行负载平衡,例如,在云中运行的集成场景的负载平衡。负载平衡器202可以使用负载平衡代理204(例如,catchall.sap.io/*)来与容器编排服务206接口连接。容器编排服务206可以被实施为例如容器编排服务112。容器编排服务206可以至少部分地使用关系数据库管理系统(Relational Database Management System,RDBMS)的服务来实施,该关系数据库管理系统可以使用统一资源定位符(URL)向服务214公开端点。例如,容器编排服务206可以公开分别对应于服务216、218和220的端点208、210和212。
服务214可以提供对pod 222的访问。pod 222a-222c可以用作端口或工作集(worker set)。文档224a-224c可以代表iFlow,并且每个端口可以具有与服务214提供对其的访问的资源(例如,对应于标签“aa”的服务216“AA”等)相关联的不同标签(例如,aa、bb和cc)。标签列表226a-226c可以标识pod 222中的每一个的标签,从而标识资源。例如,标签“aa”和“bb”被包括在标签列表226a中,它们是在pod 222a上运行的资源的标签。pod 222a-222c中的pod同步代理228a-228c可以分别处理pod 222的同步,包括跟踪与pod上运行的资源相对应的标签。pod 222可以被实施为例如部署的pod/容器组件120。
图3是用于部署资源的示例方法300的流程图。方法300可以由云集成系统102执行。为了表述清楚,下面的描述一般地描述了在图1和图2的上下文中的方法300。
在302处,由云集成系统部署iFlow作为资源。例如,可以由容器编排服务112部署(随后将被标记为“aa”的)资源的iFlow。
在304处,由容器编排服务将资源分配给一个或多个pod。例如,容器编排服务112可以将(随后将具有标签“aa”的)资源部署到pod 222a。
在306处,由pod同步代理将映射到资源的iFlow定义复制到相应的pod中。作为示例,pod同步代理124可以将iFlow定义128复制到pod 222a。
在308处,由pod同步代理基于部署到pod中的iFlow将唯一的标签分配给每个资源。例如,pod同步代理124可以将标签“aa”分配给资源。
在310处,由云集成系统利用将调用重定向到包含资源的一个或多个pod的规则来创建服务作为资源的端点。作为示例,容器编排服务112可以创建对应于具有标签“aa”的资源的服务216。
在一些实施方式中,方法300还可以包括负载平衡的步骤。例如,负载平衡可以用于平衡在pod 222上运行的资源的负载。参考图4描述负载平衡的步骤。
图4是用于处理服务请求的示例方法400的流程图。方法400可以由云集成系统102执行。为了表述清楚,下面的描述一般地描述了在图1和图2的上下文中的方法400。
在402处,由云集成系统接收调用特定资源的服务的请求。例如,云集成系统102可以从客户端/请求系统104接收服务当前正在运行的iFlow的请求。
在404处,由云集成系统使用规则来确定请求所定向的特定pod。例如,云集成系统102可以确定当前正在运行标记为“aa”的资源的pod 222。
在406处,由云集成系统确定包含特定资源的pod的当前负载。作为示例,负载平衡器222可以确定正在运行标记为“aa”的资源的pod 222上的负载。负载可以基于CPU使用或内存使用中的一个或多个。
在408处,云集成系统可以使用唯一的标签将请求转发给具有低负载的pod。例如,如果pod 222b比其他pod 222承受更轻的负载,则负载平衡器222可以将请求转发给pod222b。
图5是使用缩放模块将资源分配给新的或其他可用的pod的示例方法500的流程图。方法500可以由云集成系统102执行。为了表述清楚,下面的描述一般地描述了在图1和图2的上下文中的方法500。
在502处,由云集成系统将iFlow部署作为具有缩放因子X的资源。例如,云集成系统102可以将iFlow部署作为部署的资源/iFlow 122中的一个。
在504处,iFlow资源由缩放模块分配给X个pod。例如,缩放模块116可以将iFlow分配给X个pod。
在506处,由缩放模块将受影响的资源分配给新的或其他可用的pod,以匹配缩放因子。例如,在检测到影响iFlow资源的任何pod崩溃(crash)的情况下,缩放模块116可以将资源分配给其他pod。
图6是用于向新的pod分配资源的示例方法600的流程图。方法600可以由云集成系统102执行。为了表述清楚,下面的描述一般地描述了在图1和图2的上下文中的方法600。
在602处,由云集成系统将iFlow部署作为具有自动缩放因子的资源。例如,自动缩放因子可以表示用于由云集成系统102初始部署iFlow的pod的初始数量。
在604处,由路由分析模块分析单个iFlow的负载和流量,并且负载和流量被缩放到X。例如,在分析单个iFlow上的流量之后,缩放模块116可以确定X。
在606处,由缩放模块将iFlow资源分配给X个pod。作为示例,缩放模块116可以将iFlow资源分配给X个现有pod,更新部署的pod/容器120。
在608处,由缩放模块触发容器编排服务中的平台缩放器以创建新的pod。例如,容器编排服务112可以被触发以在部署的pod/容器120中创建新的pod。
在610处,由缩放模块将iFlow资源分配给新创建的pod。例如,一旦创建了新的pod,缩放模块116就可以将iFlow资源分配给新的pod,并更新部署的pod/容器120。
本公开中描述的技术可以用于管理集成流并将其传递到运行时集成引擎中。集成流可以替代提供给相应的动态运行时引擎的动态运行时内容,例如,使用表1中列出的示例:
表1-动态运行时内容和运行时引擎
图7是用于提供与本公开中描述的算法、方法、功能、过程、流程和程序相关联的计算功能的示例性计算机系统700的框图。
所示计算机702意图涵盖任何计算设备,诸如服务器、台式计算机、膝上型/笔记本计算机、无线数据端口、智能电话、个人数据助理(Personal Data Assistant,PDA)、平板计算设备、这些设备内的一个或多个处理器、或任何其他合适的处理设备,包括计算设备的物理或虚拟实例(或两者)。此外,计算机702可以包括包含输入设备以及输出设备计算机,,该输入设备诸如小键盘、键盘、触摸屏或可以接受用户信息的其他设备,并且该输出设备传送与计算机702的操作相关联的信息,包括数字数据、视觉或音频信息(或信息的组合)或图形用户界面(Graphical User Interface,GUI)。
计算机702可以充当客户端、网络组件、服务器、数据库或其他持久性、或者用于执行本公开中描述的主题的计算机系统的任何其他组件的角色(或角色的组合)。所示计算机702与网络730可通信地耦合。在一些实施方式中,计算机702的一个或多个组件可以被配置为在环境内操作,包括基于云计算的、本地的、全局的或其他环境(或环境的组合)。
在高层次,计算机702是可操作来接收、发送、处理、存储或管理与所述主题相关联的数据和信息的电子计算设备。根据一些实施方式,计算机702还可以包括应用服务器、电子邮件服务器、web服务器、缓存服务器、流数据服务器、商业智能(BusinessIntelligence,BI)服务器或其他服务器(或服务器的组合)或与之可通信地耦合。
计算机702可以通过网络730从客户端应用(例如,在另一台计算机702上运行的客户端应用)接收请求,并且通过在适当的软件应用中处理所述请求来响应接收到的请求。另外,还可以从内部用户(例如,从命令控制台或通过其他适当的访问方法)、外部或第三方、其他自动化应用以及任何其他适当的实体、个体、系统或计算机向计算机702发送请求。
计算机702的每个组件可以使用系统总线703进行通信。在一些实施方式中,计算机702的任何或所有组件、硬件或软件两者(或硬件和软件的组合),可以使用API 712或服务层713(或API 712和服务层713的组合)通过系统总线703相互接口连接或与接口704接口连接(或两者的组合)。API 712可以包括例程、数据结构和对象类的规范。API 712可以是独立于计算机语言的,也可以是依赖于计算机语言的,并且是指完整的接口、单一功能、或者甚至是API的集合。服务层713向计算机702或可通信地耦合到计算机702的其他组件(无论是否示出)提供软件服务。计算机702的功能可以对于使用该服务层的所有服务消费者是可访问的。诸如由服务层713提供的软件服务通过定义的接口提供可重用的、定义的业务功能。例如,接口可以是用JAVA、C++或其他合适的语言编写的软件,以可扩展标记语言(Extensible Markup Language,XML)格式或其他合适的格式提供数据。虽然被示为计算机702的集成组件,但是替代实施方式可以将API 712或服务层713示为关于计算机702的其他组件或可通信地耦合到计算机702的其他组件(无论是否示出)的独立组件。此外,在不脱离本公开的范围的情况下,API 712或服务层713的任何或所有部分可以被实施为另一软件模块、企业应用或硬件模块的子模块(child或sub-module)。
计算机702包括接口704。虽然在图7中被示为单一接口704,但是根据计算机702的特定需求、期望或特定实施方式,可以使用两个或多个接口704。计算机702使用接口704与连接到网络730(无论是否示出)的分布式环境中的其他系统通信。通常,接口704包括在软件或硬件(或软件和硬件的组合)中编码的逻辑,并且可操作来与网络730通信。更具体地,接口704可以包括支持与通信相关联的一个或多个通信协议的软件,使得网络730或接口的硬件可操作来在所示计算机702内部和外部传达物理信号。
计算机702包括处理器705。虽然在图7中被示为单一处理器705,但是根据计算机702的特定需求、期望或特定实施方式,可以使用两个或多个处理器。通常,处理器705运行指令和操纵数据,以执行计算机702的操作以及本公开中描述的任何算法、方法、功能、过程、流程和程序。
计算机702还包括存储器706,其保存用于计算机702或可以连接到网络730的(无论是否示出的)其他组件(或两者的组合)的数据。例如,存储器706可以是存储与本公开一致的数据的数据库。虽然在图7中示出为单一存储器706,但是根据所述功能和计算机702的特定需求、期望或特定实施方式,可以使用两个或多个存储器。虽然存储器706被示为计算机702的集成组件,但是在替代实施方式中,存储器706可以在计算机702的外部。
应用707是算法软件引擎,其根据计算机702的特定需求、期望或特定实施方式提供功能,特别是关于本公开中描述的功能。例如,应用707可以用作一个或多个组件、模块、应用等。此外,虽然被示为单一应用707,但是应用707可以被实施为计算机702上的多个应用707。另外,虽然被示为集成到计算机702,但是在替代实施方式中,应用707可以在计算机702外部。
可以有任意数量的计算机702与包含计算机702的计算机系统相关联或在计算机系统的外部,每个计算机702通过网络730通信。此外,在不脱离本公开的范围的情况下,术语“客户端”、“用户”和其他适当的术语可以适当地互换使用。此外,本公开考虑许多用户可以使用一台计算机702,或者一个用户可以使用多台计算机702。
在一些实施方式中,上述系统和环境的组件可以是任何计算机或处理设备,诸如刀片服务器、通用个人计算机(Personal Computer,PC)、麦金塔、工作站、基于UNIX的工作站或任何其他合适的设备。换句话说,本公开考虑除通用计算机之外的计算机,以及没有传统操作系统的计算机。此外,组件可以适于运行任何操作系统,包括Linux、UNIX、Windows、MacJavaTM、AndroidTM、iOS或任何其他合适的操作系统。根据一些实施方式,组件还可以包括电子邮件服务器、web服务器、缓存服务器、流数据服务器和/或(多个)其他合适的服务器,或者与之可通信地耦合。
在上述环境和系统中使用的处理器可以是中央处理器(Central ProcessingUnit,CPU)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或其他合适的组件。通常,每个处理器可以运行指令和操纵数据以执行各种组件的操作。具体地,每个处理器可以运行诸如在外部、中间和目标设备之间的通信中向环境的组件发送请求和/或数据以及从环境的组件接收数据所需的功能。
上述组件、环境和系统可以包括一个或多个存储器。存储器可以包括任何类型的存储器或数据库模块,并且可以采取易失性和/或非易失性存储器的形式,包括但不限于磁介质、光学介质、随机存取存储器(random Access Memory,RAM)、只读存储器(Read-OnlyMemory,ROM)、可移动介质或任何其他合适的本地或远程存储器组件。存储器可以存储各种对象或数据(包括高速缓存、类、框架、应用、备份数据、业务对象、作业、网页、网页模板、数据库表、存储业务和/或动态信息的存储库)、以及任何其他适当的信息(包括任何参数、变量、算法、指令、规则、约束),以供与目标、中间和外部设备的目的相关联的参考。存储器内的其他组件也是可能的。
不管具体实施方式如何,“软件”可以包括(视情况是暂时的或非暂时的)有形介质上的计算机可读指令、固件、有线和/或编程硬件、或者它们的任意组合,当被运行时,计算机可读指令、固件、有线和/或编程硬件、或者它们的任意组合可操作以执行至少本文描述的过程和操作。实际上,每个软件组件可以全部或部分地用任何合适的计算机语言(包括C、C++、JavaTM、Visual Basic、汇编程序、任何合适的4GL版本以及其他)编写或描述。视情况,软件可以替代包括许多子模块、第三方服务、组件、库等。相反,视情况,各种组件的特征和功能可以组合到单一组件中。
设备可以包括涵盖计算设备,诸如智能电话、平板计算设备、PDA、台式计算机、膝上型/笔记本计算机、无线数据端口、这些设备内的一个或多个处理器、或者任何其他合适的处理设备。例如,设备可以包括计算机,该计算机包括输入设备以及输出设备,该输入设备诸如小键盘、触摸屏或其他可以接受用户信息的设备,该输出设备传送与上述系统和环境的组件相关联的信息,包括数字数据、视觉信息或GUI。GUI出于任何合适的目的(包括生成网络浏览器的视觉表示)与上述系统和环境的至少一部分接口连接。
前面的附图和随附的描述说明了示例过程和计算机可实施的技术。上述环境和系统(或它们的软件或其他组件)可以考虑使用、实施或运行用于执行这些和其他任务的任何合适的技术。应当理解,这些过程仅用于说明目的,并且所描述的或类似的技术可以在任何适当的时间执行,包括同时、独自、并行和/或组合执行。另外,这些过程中的很多操作可以同时、并发、并行和/或以与所示不同的顺序发生。此外,只要方法保持适当,过程可以具有额外的操作、更少的操作和/或不同的操作。
换句话说,虽然已经根据某些实施方式和总体上相关的方法描述了本公开,但是这些实施方式和方法的变化和置换对于本领域技术人员来说将是显而易见的。因此,示例实施方式的以上描述并不限定或约束本公开。在不脱离本公开的精神和范围的情况下,其他改变、替换和变化也是可能的。
Claims (20)
1.一种计算机实施的方法,包括:
由云集成系统部署集成流iFlow作为资源;
由容器编排服务将所述资源分配给一个或多个pod;
由pod同步代理将映射到所述资源的iFlow定义复制到相应的pod中;
由所述pod同步代理基于部署到pod中的iFlow为pod分配唯一的标签;以及
由所述云集成系统利用将调用重定向到包含所述资源的一个或多个pod的规则来创建服务作为所述资源的端点。
2.根据权利要求1所述的计算机实施的方法,还包括:
由所述云集成系统接收调用特定资源的服务的请求;
使用规则确定所述请求所定向到的特定pod;
由所述云集成系统确定包含特定资源的pod的当前负载;以及
使用唯一的标签将所述请求转发给具有低负载的pod。
3.根据权利要求2所述的计算机实施的方法,其中,所述低负载基于中央处理器单元CPU使用或存储器使用中的一个或多个。
4.根据权利要求2所述的计算机实施的方法,其中,确定包含特定资源的pod的当前负载由负载平衡器执行。
5.根据权利要求1所述的计算机实施的方法,还包括使用所述pod同步代理维护关于在每个pod上运行的资源的信息。
6.根据权利要求2所述的计算机实施的方法,还包括执行在pod上运行的资源的负载平衡。
7.根据权利要求6所述的计算机实施的方法,其中,所述负载平衡使用所述容器编排服务访问向所述服务公开端点的统一资源定位符URL。
8.一种系统,包括:
存储器,其存储存储部署的资源/iFlow和iFlow定义的表;和
服务器,其执行操作,所述操作包括:
由云集成系统部署iFlow作为资源;
由容器编排服务将所述资源分配给一个或多个pod;
由pod同步代理将映射到所述资源的iFlow定义复制到相应的pod中;
由所述pod同步代理基于部署到pod中的iFlow为pod分配唯一的标签;以及
由所述云集成系统利用将调用重定向到包含所述资源的一个或多个pod的规则来创建服务作为所述资源的端点。
9.根据权利要求8所述的系统,所述操作还包括:
由所述云集成系统接收调用特定资源的服务的请求;
使用规则确定所述请求所定向到的特定pod;
由所述云集成系统确定包含特定资源的pod的当前负载;以及
使用唯一的标签将所述请求转发给具有低负载的pod。
10.根据权利要求9所述的系统,其中,所述低负载基于CPU使用或存储器使用中的一个或多个。
11.根据权利要求9所述的系统,其中,确定包含特定资源的pod的当前负载由负载平衡器执行。
12.根据权利要求8所述的系统,所述操作还包括使用所述pod同步代理维护关于在每个pod上运行的资源的信息。
13.根据权利要求9所述的系统,所述操作还包括执行在pod上运行的资源的负载平衡。
14.根据权利要求13所述的系统,其中,所述负载平衡使用所述容器编排服务访问向所述服务公开端点的URL。
15.一种非暂时性计算机可读介质,其编码有计算机程序,所述程序包括指令,当由一个或多个计算机运行所述指令时,使所述一个或多个计算机执行包括以下的操作:
由云集成系统部署iFlow作为资源;
由容器编排服务将所述资源分配给一个或多个pod;
由pod同步代理将映射到所述资源的iFlow定义复制到相应的pod中;
由所述pod同步代理基于部署到pod中的iFlow为pod分配唯一的标签;以及
由所述云集成系统利用将调用重定向到包含所述资源的一个或多个pod的规则来创建服务作为所述资源的端点。
16.根据权利要求15所述的非暂时性计算机可读介质,所述操作还包括:
由所述云集成系统接收调用特定资源的服务的请求;
使用规则确定请求所定向到的特定pod;
由所述云集成系统确定包含特定资源的pod的当前负载;以及
使用唯一的标签将所述请求转发给具有低负载的pod。
17.根据权利要求16所述的非暂时性计算机可读介质,其中,所述低负载基于CPU使用或存储器使用中的一个或多个。
18.根据权利要求16所述的非暂时性计算机可读介质,其中,确定包含特定资源的pod的当前负载由负载平衡器来执行。
19.根据权利要求15所述的非暂时性计算机可读介质,所述操作还包括使用所述pod同步代理维护关于在每个pod上运行的资源的信息。
20.根据权利要求16所述的非暂时性计算机可读介质,所述操作还包括执行在pod上运行的资源的负载平衡。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/214,356 | 2018-12-10 | ||
US16/214,356 US10715388B2 (en) | 2018-12-10 | 2018-12-10 | Using a container orchestration service for dynamic routing |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111290828A true CN111290828A (zh) | 2020-06-16 |
Family
ID=68583142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910664883.9A Pending CN111290828A (zh) | 2018-12-10 | 2019-07-23 | 使用容器编排服务进行动态路由 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10715388B2 (zh) |
EP (1) | EP3667500B1 (zh) |
JP (1) | JP7092736B2 (zh) |
CN (1) | CN111290828A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116886777A (zh) * | 2023-09-06 | 2023-10-13 | 苏州浪潮智能科技有限公司 | 一种容器编排平台服务流量分配方法和装置 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102147310B1 (ko) * | 2018-09-05 | 2020-10-14 | 주식회사 나눔기술 | 컨테이너 클러스터 기반의 무중단 소프트웨어 업데이트 시스템 |
US11627056B2 (en) * | 2019-01-24 | 2023-04-11 | Telefonaktiebolaget Lm Ericsson (Publ) | State controller running in a Kubernetes system and method for operating same |
CN111782223B (zh) * | 2020-07-02 | 2024-09-20 | 浪潮云信息技术股份公司 | 一种基于Helm容器部署OpenStack的多AZ支持方法 |
US11513877B2 (en) * | 2020-09-22 | 2022-11-29 | Rockwell Automation Technologies, Inc. | Updating operational technology devices using container orchestration systems |
US11474873B2 (en) | 2020-09-22 | 2022-10-18 | Rockwell Automation Technologies, Inc. | Implementing serverless functions using container orchestration systems and operational technology devices |
US11444832B2 (en) | 2020-11-11 | 2022-09-13 | Sap Se | Integrating proxies from third party libraries within an integration environment |
KR102466247B1 (ko) * | 2020-12-09 | 2022-11-10 | 대구대학교 산학협력단 | 오케스트레이터 환경에서 에이전트를 이용한 컨테이너 관리 장치 및 관리 방법 |
CN113726859B (zh) * | 2021-08-13 | 2024-05-31 | 广东浪潮智慧计算技术有限公司 | 一种istio流量重定向方法、装置、设备及存储介质 |
US11977922B2 (en) | 2021-09-30 | 2024-05-07 | International Business Machines Corporation | Resource reuse for pipeline workloads |
CN114221773B (zh) * | 2021-12-17 | 2024-02-06 | 北京邮电大学 | 一种基于容器云自动添加代理的方法 |
CN114819483B (zh) * | 2022-03-14 | 2024-05-31 | 湖南大学 | 一种面向工业机器人的柔性服务编排系统及其方法 |
US11711315B1 (en) * | 2022-05-24 | 2023-07-25 | Red Hat, Inc. | Dynamic endpoint resources discovery in Kubernetes clusters via stable URI locator for workflow services |
US12072688B2 (en) | 2022-09-08 | 2024-08-27 | Rockwell Automation Technologies, Inc. | Dynamic routing and edge orchestration for industrial automation data |
US11947342B1 (en) | 2022-09-19 | 2024-04-02 | Rockwell Automation Technologies, Inc. | Container registry and subscription service for industrial systems |
US11846918B1 (en) | 2022-09-22 | 2023-12-19 | Rockwell Automation Technologies, Inc. | Data driven digital twins for industrial automation device operation enhancement |
US12066806B2 (en) | 2022-09-22 | 2024-08-20 | Rockwell Automation Technologies, Inc. | Chainable and nested edge for industrial automation device analytics |
US12085486B2 (en) | 2022-09-28 | 2024-09-10 | Rockwell Automation Technologies, Inc. | Systems and methods for container-based data collection and analysis in an operational technology network |
US12081565B2 (en) | 2022-11-14 | 2024-09-03 | Rockwell Automation Technologies, Inc. | Facilitating direct device-to-cloud communications within a secure deployment management system |
US12088553B2 (en) | 2022-11-14 | 2024-09-10 | Rockwell Automation Technologies, Inc. | Implementing device modifications based on machine learning processes performed within a secure deployment system |
US12085920B1 (en) | 2023-07-10 | 2024-09-10 | Rockwell Automation Technologies, Inc. | Adaptive container deployment to hierarchical levels associated with an automation control system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101925887A (zh) * | 2008-01-28 | 2010-12-22 | 微软公司 | 用于描述应用程序以获得可管理性和高效扩展部署的系统和方法 |
US20120226797A1 (en) * | 2011-03-01 | 2012-09-06 | Cisco Technology, Inc. | Active Load Distribution for Control Plane Traffic Using a Messaging and Presence Protocol |
US20160034318A1 (en) * | 2014-07-30 | 2016-02-04 | Software Ag | System and method for staging in a cloud environment |
US9882976B1 (en) * | 2015-06-16 | 2018-01-30 | Amazon Technologies, Inc. | Supporting heterogeneous environments during code deployment |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2002317807A1 (en) | 2001-07-16 | 2003-03-03 | Sap Aktiengesellschaft | Capturing data attribute of predefined type from user |
US7461346B2 (en) | 2002-07-30 | 2008-12-02 | Sap Ag | Editing browser documents |
EP1406166B1 (en) | 2002-10-01 | 2011-07-13 | Sap Ag | Validation of scripting languages with interfaces using annotations in XML |
US7590614B2 (en) | 2003-12-11 | 2009-09-15 | Sap Ag | Method, apparatus, and computer program product for implementing techniques for visualizing data dependencies |
US7814491B1 (en) * | 2004-04-14 | 2010-10-12 | Oracle America, Inc. | Method and apparatus for managing system resources using a container model |
US7873942B2 (en) | 2005-11-01 | 2011-01-18 | Sap Ag | Design-time architecture for self-contained patterns |
US7840935B2 (en) | 2005-12-29 | 2010-11-23 | Sap Ag | Restrictive visualization of a stereotype construct for entities in a visual modeling environment |
US7757204B2 (en) | 2005-12-29 | 2010-07-13 | Sap Ag | Limiting extensibility of a visual modeling language |
US7774745B2 (en) | 2005-12-29 | 2010-08-10 | Sap Ag | Mapping of designtime to runtime in a visual modeling language environment |
US7853923B2 (en) | 2005-12-29 | 2010-12-14 | Sap Ag | Specific runtime generators in a visual modeling language environment |
US7840936B2 (en) | 2005-12-29 | 2010-11-23 | Sap Ag | Support of a platform-independent model including descriptions of modeling language entities |
US7734560B2 (en) | 2006-08-23 | 2010-06-08 | Sap Ag | Loose coupling of pattern components with interface regeneration and propagation |
US7962892B2 (en) | 2006-12-28 | 2011-06-14 | Sap Ag | Designtime services for multiple patterns |
US8689174B2 (en) | 2006-12-28 | 2014-04-01 | Sap Ag | Extensibility of pattern components |
US8126961B2 (en) | 2007-07-19 | 2012-02-28 | Sap Ag | Integration of client and server development environments |
US8341593B2 (en) | 2008-10-23 | 2012-12-25 | Sap Ag | Integrated development framework for composite applications |
US8903943B2 (en) * | 2011-02-15 | 2014-12-02 | Salesforce.Com, Inc. | Integrating cloud applications and remote jobs |
US9251517B2 (en) * | 2012-08-28 | 2016-02-02 | International Business Machines Corporation | Optimizing service factors for computing resources in a networked computing environment |
US9411665B2 (en) | 2012-09-05 | 2016-08-09 | Sap Se | Messaging infrastructure integration |
US8978035B2 (en) | 2012-09-06 | 2015-03-10 | Red Hat, Inc. | Scaling of application resources in a multi-tenant platform-as-a-service environment in a cloud computing system |
WO2014036717A1 (zh) * | 2012-09-07 | 2014-03-13 | 运软网络科技(上海)有限公司 | 虚拟资源对象组件 |
US10324697B2 (en) * | 2015-06-04 | 2019-06-18 | Oracle International Corporation | System and method for importing and extorting an integration flow in a cloud-based integration platform |
US9996344B2 (en) | 2016-07-28 | 2018-06-12 | Sap Se | Customized runtime environment |
EP3688595A1 (en) * | 2017-09-30 | 2020-08-05 | Oracle International Corporation | Binding, in an api registry, backend services endpoints to api functions |
US10996991B2 (en) * | 2017-11-29 | 2021-05-04 | Red Hat, Inc. | Dynamic container-based application resource tuning and resizing |
US10613961B2 (en) * | 2018-02-05 | 2020-04-07 | Red Hat, Inc. | Baselining for compute resource allocation |
-
2018
- 2018-12-10 US US16/214,356 patent/US10715388B2/en active Active
-
2019
- 2019-07-23 CN CN201910664883.9A patent/CN111290828A/zh active Pending
- 2019-11-15 EP EP19209365.6A patent/EP3667500B1/en active Active
- 2019-12-09 JP JP2019222126A patent/JP7092736B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101925887A (zh) * | 2008-01-28 | 2010-12-22 | 微软公司 | 用于描述应用程序以获得可管理性和高效扩展部署的系统和方法 |
US20120226797A1 (en) * | 2011-03-01 | 2012-09-06 | Cisco Technology, Inc. | Active Load Distribution for Control Plane Traffic Using a Messaging and Presence Protocol |
US20160034318A1 (en) * | 2014-07-30 | 2016-02-04 | Software Ag | System and method for staging in a cloud environment |
US9882976B1 (en) * | 2015-06-16 | 2018-01-30 | Amazon Technologies, Inc. | Supporting heterogeneous environments during code deployment |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116886777A (zh) * | 2023-09-06 | 2023-10-13 | 苏州浪潮智能科技有限公司 | 一种容器编排平台服务流量分配方法和装置 |
CN116886777B (zh) * | 2023-09-06 | 2024-01-26 | 苏州浪潮智能科技有限公司 | 一种容器编排平台服务流量分配方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
JP7092736B2 (ja) | 2022-06-28 |
EP3667500A1 (en) | 2020-06-17 |
EP3667500B1 (en) | 2023-09-13 |
JP2020096357A (ja) | 2020-06-18 |
US20200186422A1 (en) | 2020-06-11 |
US10715388B2 (en) | 2020-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111290828A (zh) | 使用容器编排服务进行动态路由 | |
US10606881B2 (en) | Sharing container images between mulitple hosts through container orchestration | |
US11574063B2 (en) | Automatic detection of an incomplete static analysis security assessment | |
CN107003906B (zh) | 云计算技术部件的类型到类型分析 | |
US7490265B2 (en) | Recovery segment identification in a computing infrastructure | |
US8904382B2 (en) | Creating instances of cloud computing environments | |
CN108513657B (zh) | 数据转换方法及备份服务器 | |
CN112449750A (zh) | 日志数据收集方法、日志数据收集装置、存储介质和日志数据收集系统 | |
US9705986B2 (en) | Elastic scalability of a content transformation cluster | |
US11082517B2 (en) | Content transformations using a transformation node cluster | |
US10541936B1 (en) | Method and system for distributed analysis | |
US20220263772A1 (en) | Metadata driven static determination of controller availability | |
JP2024507055A (ja) | コンピューティング環境内のアプリケーション展開 | |
US11082520B2 (en) | Process broker for executing web services in a system of engagement and system of record environments | |
US12001458B2 (en) | Multi-cloud object store access | |
US11734136B1 (en) | Quick disaster recovery in distributed computing environment | |
US20220391223A1 (en) | Adding expressiveness to plugin extensions using integration with operators | |
US11562094B2 (en) | Geography aware file dissemination | |
KR20190015817A (ko) | 미들웨어를 이용한 모니터링 방법, 장치 및 시스템 | |
US11924031B2 (en) | Highly scalable container network interface operation to reduce startup overhead of functions | |
US20220191104A1 (en) | Access management for a multi-endpoint data store | |
US20210286819A1 (en) | Method and System for Operation Objects Discovery from Operation Data | |
CN117743717A (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 |