CN116034576B - 基于cos集群域名系统的跨多个cos集群的容器编排系统(cos)服务发现 - Google Patents
基于cos集群域名系统的跨多个cos集群的容器编排系统(cos)服务发现 Download PDFInfo
- Publication number
- CN116034576B CN116034576B CN202180055661.2A CN202180055661A CN116034576B CN 116034576 B CN116034576 B CN 116034576B CN 202180055661 A CN202180055661 A CN 202180055661A CN 116034576 B CN116034576 B CN 116034576B
- Authority
- CN
- China
- Prior art keywords
- cos
- cluster
- service
- dns
- clusters
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4541—Directories for service discovery
-
- 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
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5076—Update or notification mechanisms, e.g. DynDNS
-
- 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/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1053—Group management mechanisms with pre-configuration of logical or physical connections with a determined number of other peers
-
- 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/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1091—Interfacing with client-server systems or between P2P systems
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Stored Programmes (AREA)
- Computer And Data Communications (AREA)
Abstract
描述了基于COS集群域名系统(DNS)的跨多个COS集群的容器编排系统(COS)服务发现。接收在第一COS集群中创建第一COS服务和第一COS端点的指示。响应于指示的接收,发送在第二COS集群中创建第二COS服务和第二COS端点的请求。第二COS服务和第二COS端点对应于第一COS服务和第一COS端点。第二COS服务和第二COS端点的创建导致在本地于第二COS集群的第一DNS服务器中插入第一DNS记录,使得第二COS集群的COS群聚能够通过网络与第一COS集群的COS群聚通信。
Description
相关申请的交叉引用
本申请要求2020年8月13日提交的美国专利申请第16/993,118号的优先权,其通过引用并入本文。
技术领域
一个或多个实现涉及云编排系统的领域;并且更具体地,涉及基于COS集群DNS跨多个COS集群的COS(Cloud Orchestrator System,云编排器系统)服务的发现。
背景技术
“云”服务在请求时向计算机和其他电子设备提供共享资源、软件和信息。在云计算环境中,软件可以通过互联网访问,而不是本地安装在内部计算机系统上。云服务通常涉及动态可缩放且通常虚拟化的资源的因特网供应。技术细节可以从不再需要专业知识或控制支持他们的“云中”技术基础设施的用户中提取。
术语“微服务体系结构”是指这样的体系结构,其中每个微服务仅有效地做一件事,并且根据需要与其他微服务交互。这与其中复杂软件在单个功能强大的服务器上运行的单片体系结构形成对比。每个微服务可以使用不同类型的硬件和/或软件来分别执行与其他微服务所执行的处理类型不同的专用类型的处理。此外,微服务体系结构允许将应用程序分解为这些较小的微服务中的不同微服务,提高了模块性并使程序代码更容易理解,设计和测试。例如可以修改(例如升级、换出)各个微服务而不影响该应用所使用的其他微服务的操作。
容器编排系统(COS)自动化容器化应用的部署、缩放和管理(也称为容器化软件和容器化应用程序);换言之,他提供了用于跨主机集群自动部署、缩放和操作应用容器的平台。例如Kubernetes是与包括Docker的一系列容器工具一起工作的COS。COS的另一个例子是Docker Swarm。容器是独立的执行环境,如Linux执行环境;换言之,容器是封装代码及其所有相关性的软件的标准单元,因此应用程序从一个计算环境快速且可靠地运行到另一个计算环境。容器映像用于在运行时创建一个或多个容器。容器映像是一个轻量级独立可执行的软件包,包含运行应用程序所需的所有内容:代码、运行时间、系统工具、系统库和设置(例如Docker容器映像在Docker引擎上运行时变成Docker容器;另一个容器引擎是Rkt)。
关于硬件,COS可以包括:1)节点(在本文中也称为COS节点),其中节点是COS集群中的单个机器的表示,其中该单个机器可以是数据中心中的物理机器或在云提供商上托管的虚拟机:2)集群(在本文中也称为COS集群),其中集群表示由集群内的节点的资源(CPU和RAM)的汇集而产生的更强大的机器;持久卷(持久卷是可以安装到集群而不与任何特定节点相关联的文件系统;而与每个节点相关联的传统本地存储器被当作临时高速缓存来保存程序和数据。
关于软件,COS可以包括:1)容器(也称为COS群聚、Docker容器等);2)群聚(在本文中也称为kubernetes实现中的“副本”、“COS群聚”或“k群聚(kpods)”),其中群聚是复制的单位,并且包裹将共享相同资源和本地网络的一个或多个容器;3)部署,其中部署管理群聚,包括声明群聚的副本数和监控群聚;和4)入口,其中入口是指在群聚中运行的服务与外部世界之间的通信信道,并且通常是入口控制器、负载平衡器、Kube-proxy(网络代理和负载平衡器的组合)。另外,COS支持这样的抽象(例如Kubernetes服务),抽象定义群聚的逻辑集合和访问群聚的策略(有时称为COS服务),以及API(例如Kubernetes端点API),使得由这样的抽象之一提供的服务可以调用由另一个这样的抽象提供的服务。
在操作中,形成COS节点集群,并将一个或多个持久卷的集合附加到该集群;并且COS部署被启动到集群上,该部署导致指定数目的COS群聚的起转(其中起转COS群聚包括执行在为该COS群聚识别的容器映像中指定的容器化应用)并监控他们。
附图说明
以下附图使用相同的附图标记表示相同的元件。虽然以下附图描述了各种示例实现,但是替代实现在所附权利要求的精神和范围内。在附图中:
图1A是示出根据一些示例实现的用于使得能够基于COS集群DNS发现跨多个COS集群的COS服务的容器编排系统的框图。
图1B示出了根据一些实现的COS集群DNS服务器中的示例DNS记录的框图。
图1C示出了根据一些实现的可由DNS复制器访问的示例COS集群对等体的框图。
图1D示出了DNS复制器150的示例实现的框图。
图2A是示出根据一些示例实现的在COS中用于发现跨多个COS集群的COS服务的方法的流程图。
图2B示出了根据一些实现的可以被执行用于基于第一COS服务的更新来更新DNS记录的示例操作的流程图。
图2C示出了根据一些实现的可以被执行用于基于第一COS服务的删除来删除DNS记录的示例操作的流程图。
图2D示出了根据一些实现的可以在接收到创建第二COS服务和第二COS端点的请求时执行的示例操作的流程图。
图2E示出了根据一些实现的可以在更新第一COS服务时执行的示例操作的流程图。
图2F示出了根据一些实现的可以在删除第一COS服务时执行的示例操作的流程图。
图3A是示出根据一些示例实现的电子设备的框图。
图3B是根据一些实现的其中可以使用上述COS服务发现技术的环境的框图。
具体实施方式
COS群聚是COS集群中的基本构建块。COS群聚是可以根据需要创建和销毁的资源。因为可以将COS群聚移动或重新调度到COS集群的另一节点,所以该容器所分配的任何内部网络地址(例如因特网协议(IP)地址)可以随时间改变。如果另一个应用要连接到该COS群聚,则该连接将不在下一次重新部署上工作,因为COS群聚的IP地址将改变。
COS服务(例如Kubernetes服务)是由COS支持的抽象,其用于将运行在COS群聚的集合上的应用暴露为网络服务。COS服务定义一个或多个群聚的逻辑集合以及访问他们的策略。COS服务向跨COS集群均匀工作的COS群聚提供网络连接。服务发现是表示如何连接到COS服务的过程。当为部署在COS集群中的COS群聚的集合创建COS服务时,在COS集群中自动创建COS端点。COS端点是与COS服务相关联并且包括作为COS服务的一部分的COS群聚的网络地址的抽象构造。当在COS集群中部署COS群聚时,为COS服务的COS群聚自动创建COS群聚。
COS 102基于本地COS集群DNS服务器中的DNS记录的复制来实现跨多个COS集群103A-K的COS服务发现。COS集群可以被称为服务器COS集群或客户端COS集群。服务器COS集群向COS102中的其他COS集群提供一个或多个服务。例如COS集群可包括在COS集群的COS群聚上运行的后端服务,并且需要可由在其他COS集群上运行的前端应用程序访问。在这里讨论的例子中,第一COS集群103A是服务器COS集群。COS集群103A需要使第一COS服务105A对COS 102中的其他COS集群可用/可被COS 102中的其他COS集群发现。客户机COS集群是需要与COS 102中的一个或多个其他COS集群通信以访问在这些COS集群上实现的服务的COS集群。例如第二COS集群103B需要与COS集群103A通信以访问第一COS服务105A。在一些实现中,COS集群可以充当服务器COS集群和客户端COS集群。在其他实现中,COS集群可充当服务器或客户机COS集群之一。
在一个实现中,当在第一COS集群103A中创建第一COS服务105A时,接收第一COS服务105A和一个或多个第一COS端点,例如第一COS端点114A。第一COS服务定义了第一COS集群中的一个或多个COS群聚的集合,并且第一COS端点包括COS群聚104A的网络地址。响应于第一COS服务105A和第一COS端点114A的接收,发送在第二COS集群中创建第二COS服务和一个或多个第二COS端点的请求。第二COS服务和第二COS端点对应于第一COS服务105A和一个或多个第一COS端点114A。第二COS服务和第二COS端点的创建导致在本地于第二COS集群103B的第一DNS服务器(COS集群DNS服务器120B)中插入一个或多个第一DNS记录。插入第一DNS记录以使第二COS集群的一个或多个COS群聚能够通过网络与第一COS集群的一个或多个COS群聚组通信。因此,在COS集群103B处例示的COS群聚能够基于COS集群103B的本地DNS服务器中的DNS请求解析来发现COS集群103A的服务。
在使用COS 102的一些实现中,对COS集群103A中的第一COS服务的更新导致第一DNS服务器120B中的第一DNS记录的自动更新,从而导致第一COS服务对于运行在第二COS集群103B上的应用是可发现的和可用的。在一些实现中,第一COS集群103A中的第一COS服务的删除导致第一DNS服务器120B中的第一DNS记录的自动删除,导致第一COS服务对于第二COS集群103B的COS群聚不再是可达的或可用的。
与一些常规系统相比,上述实现是有利的。例如第一传统系统使用COS集群DNS服务器来实现COS集群内的COS服务发现。COS集群DNS服务器提供DNS名称解析以发现集群内的COS服务。然而,COS集群DNS服务器不能实现跨COS集群的DNS名称解析。COS集群DNS服务器不知道其他COS集群的DNS记录。其他常规系统使用公共DNS服务来实现跨COS集群的服务发现。这些系统使用以下服务(例如Kubernetes的外部DNS):1)从COS控制器检索资源(服务、入口等)的列表,2)基于资源的列表确定DNS记录的列表,以及3)用DNS记录配置中央DNS服务(例如AWS路由53或谷歌云DNS)。一旦DNS记录被添加到中央DNS服务,他们可被所有COS集群解析。然而,这些系统具有若干不足和缺点。例如随着COS集群的数量增加,对中央DNS服务的调用以更新与这些COS集群相关联的DNS记录的速率急剧增加。该增加触发中央DNS服务来节流所接收的用于DNS记录更新的呼叫。为了处理节流,DNS记录更新需要以批量和较慢的速率提交。该节流在COS集群的COS群聚的DNS记录的更新中引起延迟,并防止这些COS群聚可被发现并因此可使用几分钟。此外,当COS群聚被更新时,其相关联的DNS记录在COS集群中改变(例如更新的COS群聚在更新过程期间获得新的IP地址)。此外,更新处理通常一次更新小的COS群聚的集合,这导致更新这些容器的DNS记录的延迟累积,从而在涉及数百或数千个COS群聚时导致数百分钟的延迟,这潜在地导致关键更新的延迟数小时。此外,多个COS集群更新中央DNS服务。定义哪个COS集群被允许更新DNS记录的集合而哪个不被允许更新DNS记录的集合变得具有挑战性。在中央DNS服务中,访问控制通常通过限制对DNS区的访问来强制执行,并且特别难以为反向DNS区定义,因为这些区需要为细粒度的子网可定义。代替于解决这个问题,网络管理员最终允许所有COS集群更新共享DNS区。任何一个COS集群可以删除或修改其他COS集群的DNS记录。此外,即使当针对给定的中央DNS服务实现解决方案以解决上述节流和安全问题时,当COS系统以不同的中央DNS服务操作时,也需要开发另一个解决方案,因为针对上述问题的解决方案往往专用于所使用的中央DNS服务。
因此,上述实现是有利的,因为他们:1)在不需要中央DNS服务的情况下允许跨COS集群的COS服务发现;2)通过对等COS集群的本地DNS服务器的更新,使得能够发现COS服务,导致向对等COS集群中的每一个发送更少的请求;3)避免接收请求的对等COS集群的过载,因为与中央DNS服务相比,该COS集群接收到较少数目的请求;3)避免由于在对等COS集群处接收到较少数量的请求而对请求进行节流。
此外,在一些实现中,在多个COS集群之间共享的命名空间中创建第一COS服务和第一COS端点,并且还在该命名空间中定义第二COS服务和第二端点。这允许第二COS服务和第二COS端点不与第二COS集群的其他命名空间中的这种构造冲突。在一些实现中,第一COS服务和第二COS服务的名称包括导致这些COS服务的唯一名称的COS集群的名称。在这些实现中,为COS服务创建的DNS名称是从COS集群的名称导出的,因此不存在重写存储在第二COS集群的本地COS集群DNS服务器中的其他资源的DNS记录的危险。
上述实现还使得能够对第二COS集群中的服务创建进行无缝访问控制,因为第二COS集群的所有者可以根据需要使用由COS系统提供的访问控制构造来定义访问控制规则。COS集群的所有者可以定义允许哪些COS集群访问该集群中的命名空间,使得所有者控制该命名空间内的服务的创建,并因此控制该COS服务的DNS记录的自动生成。
此外,上述实现独立于在其上实现COS的云提供商平台。这里提出的用于COS服务发现的解决方案从一个云提供商平台到另一个是可移植的,因为他依赖于独立于云提供商平台的COS访问控制构造。此外,上述实现有效地扩展,降低了云平台成本,并保持了高信任。
附加细节
COS 102包括COS集群103A-K和DNS复制器150。COS集群103A-K和DNS复制器150用于通过网络110进行通信。COS集群包括COS控制器、一个或多个COS群聚,以及可选的COS集群DNS服务器。例如COS集群103A包括COS控制器126A、第一COS群聚104A、COS群聚104N-O和任选的DNS服务器120A。COS集群103B包括COS控制器126B、COS群聚104D-Q和DNS服务器120B。
COS控制器控制COS集群的操作。COS控制器可以接收根据配置信息(有时称为清单、“应用编程接口(API)对象描述”或“应用配置信息”)的操作,该配置信息根据COS构造来描述应用的期望状态。当应用被部署在COS集群中时,COS控制器启动实现该应用的COS群聚的容器。COS控制器用于调度容器以在COS集群的节点(未示出)上运行。在一些实现中,节点使用COS应用编程接口(API)(例如Kubernetes API)与COS控制器通信,COS控制器展示该接口。终端用户和/或其他COS集群也可以使用COS API直接与COS集群交互。
COS集群还包括一个或多个COS群聚的集合,例如COS群聚104A和COS集群103A中的可选COS群聚104N-O。在这里的实现中,COS群聚与COS服务和COS端点相关联。COS服务是定义一个或多个COS群聚的集合和用于这些COS群聚的策略的COS构造。例如第一COS服务定义第一COS群聚104A和相关策略。COS集群中的COS服务具有对于该类型的资源唯一的名称(这里称为服务名称),即,服务的名称对于在COS集群中定义的所有服务是唯一的。在一些实现中,在命名空间的上下文中定义COS服务。在这些实现中,COS服务的名称对于在名称空间的COS集群中定义的所有服务是唯一的。在一些实现中,COS服务还具有跨COS集群(跨COS集群中定义的不同类型的资源和构造)唯一的标识符(UID)。在一些实现中,服务名称包括COS集群的名称。附加地或可选地,其中定义了COS服务的命名空间包括集群的名称。这使得COS服务的名称在多个COS集群中是唯一的。
第一COS群聚与包括第一COS群聚的网络地址的第一COS端点114A相关联。网络地址可以是IP地址和端口号。第一COS端点与定义包括第一COS群聚的COS群聚的COS服务相关联。COS服务和第一COS端点帮助为第一COS群聚提供服务发现。
COS集群DNS服务器向在COS集群中运行的COS群聚提供本地DNS服务。COS集群DNS服务器提供特定COS集群内的DNS名称解析,以实现集群内的COS服务发现。例如COS集群DNS服务器120B向COS集群103B中的COS群聚104D-Q提供DNS服务。与传统的COS相比,这里的实现使得COS集群103B的COS群聚能够通过COS集群DNS服务器120B将DNS请求解析为内部和外部COS群聚。COS集群DNS服务器120B用于接收对DNS名称的请求并返回与该DNS名称相关联的网络资源的网络地址。在一些实现中,COS集群DNS服务器120B用于接收对网络地址的请求并返回与该网络地址相关联的网络资源的DNS名称。COS集群DNS服务器120B包括DNS记录122B。图1B示出了根据一些实现的COS集群DNS服务器中的示例DNS记录的框图。DNS记录用于响应DNS请求。为COS集群自动维护DNS记录。在一个实现中,DNS记录包括包含用于查找的密钥值对的数据库131B。密钥包括COS服务的名称,并且值是这些服务在其上运行的COS群聚的网络地址(例如IP地址和端口号)。密钥可以包括COS服务中的COS群聚的唯一名称,并且映射到包括该COS群聚的IP地址的值。在一些实现中,COS群聚的名称包括作为COS群聚名称的一个组成部分的服务名称。DNS记录还可包括包含密钥值对的另一数据库136B,其中键是网络地址(例如IP地址和端口号),而值是服务名称。数据库131B包括第一COS服务名称,该名称是与COS群聚104A的网络地址相关联的第一COS服务105A的名称。当COS服务定义多于一个的COS群聚时,每个COS群聚的网络地址被包括在用于该COS服务的数据库131B中。数据库131B还可以包括COS集群103B内部的COS服务的名称以及COS集群103B外部的零个或多个附加COS服务的名称。在一个实现中,COS集群DNS服务器(例如Kubernetes中的Kube-DNS)是包裹COS群聚的COS服务(例如在Kubernetes中,Kube-DNS服务包裹名为“Kube-DNS”的COS群聚)。
COS 102还支持COS命名空间构造。COS命名空间是允许将授权和策略附加到集群的子部分或多个集群的子部分的组合的抽象。COS命名空间提供集群资源名称的范围。资源的名称需要在命名空间内是唯一的,而不是跨命名空间。在一些实现中,相同命名空间中的COS资源(例如两个COS服务)将具有相同的访问控制策略。例如可以在许多用户跨多个团队或项目传播的环境中使用命名空间。
此外,在一些实现中,构造(这里称为服务集合)用于创建、组织和监控要提供的一个或多个服务的集合。图1A通过示出服务集合107A示出具有多个服务集合的选项。服务集合是群聚(例如k群聚)以及可能的多个微服务(例如Kubernetes服务)的集合,每个提供一个或多个服务。服务集合是这样的集合:1)通过不同的服务容器提供相同服务和/或微服务的多个实例;和/或2)通过不同的COS群聚提供不同类型的服务和/或微服务。例如实现可以通过包括分配给每个服务集合107A的服务集合ID来支持释放每个服务集合107A的单独配置信息。附加地或替换地,实现可以支持不同地理位置中的不同数据中心中的多个COS102,并且这些COS 102的每个COS控制器126可以:1)跟踪他们所托管的服务集合的服务集合ID;以及2)接收对每个服务集合的每个更新的配置信息122的广播,并且基于该相应配置信息中的服务集合ID是否被分配给该COS 102所托管的服务集合之一,来决定是否对每个相应配置信息进行操作。附加地或替换地,不同的客户(或客户组)可以分配给不同的(可能相同的)服务集合107A。
在操作中,DNS复制器150可操作用于基于COS集群DNS服务器中的DNS记录的更新来实现跨COS 102的多个COS集群的COS服务发现。在一些实现中,DNS复制器150被实现为在COS集群103C中包裹一个或多个COS群聚的COS服务。在其他实现中,DNS复制器150可被实现为在没有COS基础结构的网络设备上运行的应用程序。DNS复制器150和COS集群(例如COS集群103A和COS集群103B)之间的通信可以通过由超文本传输协议(HTTP)提供的基于资源的(RESTful)编程接口来执行。API支持经由标准HTTP动词(张贴、放置、粘贴、删除、获取)来检索、创建、更新和删除资源(例如COS服务、COS端点)。API还包括用于允许细粒度授权和访问控制的许多对象(例如COS服务和COS端点、命名空间等)的附加子资源。他还通过“监控”命令和一致列表支持对资源的有效改变通知,以允许缓存和同步资源的状态,特别是COS服务和COS端点。
DNS复制器150监控包括第一COS集群103A的一个或多个COS集群。在一个实现中,COS集群(例如COS集群103A-K)的监控是通过发送监控COS集群中COS服务的操作的请求来发起的。在一个实现中,DNS复制器150发送监控COS集群103A的请求,其中该请求包括要监控的资源类型(例如COS服务类型和COS端点类型)的指示。可选地,请求可以包括COS服务所属的名字空间。在其他实现中,请求不包括名字空间。在一些实现中,该请求是获取请求,并且包括URL,该URL包括所请求的资源的类型和定义这些资源的命名空间。该请求还包括观看COS服务的指示,其使COS集群103A返回对所观看的资源类型发生的所有改变(创建、删除和更新)。这允许DNS复制器150在不丢失任何更新的情况下监控改变。如果表被断开,则DNS复制器150可以从COS服务的最后返回版本的COS服务重新开始新的表,或者执行新的请求并再次开始。在一些实现中,DNS复制器150指定要观看的资源是与要监控第一COS服务的指示相关联的COS服务。在一些实现中,COS服务将被监控的指示可被包括在COS服务的注释中。因此,监控COS服务的请求将应用于在与该指示相关联的COS集群103A处创建的任何新的或现有的COS服务。在其他实现中,不发送该指示,并且DNS复制器150针对所创建的所有COS服务监控COS集群103A并从COS集群103A获得更新。
当在COS集群103A处创建第一COS服务105A和第一COS端点114A时,从COS集群103A向DNS复制器150发送指示。该指示表明第一COS服务和第一COS端点是在COS集群103A中创建的。在一些实现中,DNS复制器150接收作为监控(观察)操作的结果的第一COS服务105A和第一COS端点114A。在其他实现中,可以使用不同的机制来使COS集群103A能够向DNS复制器150发送COS服务和端点的创建、更新或删除。
在DNS复制器150处接收创建第一COS服务105A和第一COS端点114A的指示。第一COS服务定义第一COS集群中的一个或多个COS群聚的集合,例如第一COS服务105A定义COS群聚104A。第一COS端点的COS端点包括一个或多个COS群聚的集合中的COS群聚的网络地址。例如COS群聚104A的COS端点包括COS群聚104A的IP地址和端口号。
在一些实现中,DNS复制器150确定需要通过网络与第一COS集群通信的一个或多个COS集群。一个或多个COS集群包括第二COS集群103B。在一些实现中,DNS复制器150可访问一组COS集群,其中每个COS集群与一个或多个对等COS集群相关联。COS集群对等体是需要与COS集群103A通信的COS集群。COS集群对等体(例如COS集群103B)充当COS集群103A的客户端COS集群,且操作以请求并访问在COS集群103A上实例化的服务。图1C示出了根据一些实现的可由DNS复制器访问的示例COS集群对等体的框图。COS集群对等体组155包括充当服务器COS集群的COS集群以及他们为其提供一个或多个COS服务的相关COS集群对等体。例如图1C针对由唯一标识符标识的COS集群103A示出了一个或多个相关联的COS集群对等体(第二COS集群103B的ID以及可选地第三COS集群103K的ID)。数据结构(例如表)可以被存储为DNS复制器150的一部分。或者,数据结构155可在DNS复制器150可通过网络访问的外部数据存储(例如数据库)上实现。例如COS集群对等体组155可在DNS复制器150外部、COS 102的另一COS集群上、或网络110中的另一网络设备上实现为COS集群103C中的另一服务。COS集群可以具有指示单个COS集群需要与COS集群通信的单个COS集群对等体。例如图1C的表中的COS集群103G具有COS集群103B作为他的同位体。在其他示例中,COS集群可以具有多于一个COS集群对等体,其指示多于一个COS集群需要与COS集群通信。例如图1C的表中的COS集群103A具有两个COS集群对等体,COS集群103B和COS集群103K。COS集群的标识符唯一地标识系统102中的COS集群。在一些实现中,COS集群ID在给定网络子域内是唯一的。网络子域具有在较高级域内的其他这样的子域中唯一的名称。COS集群ID可以由子域和域ID限定以使其全局唯一,从而产生全局唯一的DNS密钥。在一些实现中,可以通过包括填充数据结构155的配置过程来定义两个COS集群之间的对等关系。在一些实现中,可以在部署COS集群时执行配置。
再次参考图1A,在接收到第一COS服务和第一COS端点时,DNS复制器150发送在第二COS集群103B中创建对应于第一COS服务和第一COS端点的第二COS服务和第二COS端点的请求。在一些实现中,第二COS服务和第二COS端点分别是第一COS服务和第一COS端点的副本。第二COS服务和第二COS端点的创建导致在第二COS集群103B的COS集群DNS服务器120B中插入一个或多个第一域名系统(DNS)记录。插入第一DNS记录以使第二COS集群的一个或多个COS群聚能够通过网络110与第一COS集群的一个或多个COS群聚组通信。例如创建第二COS服务和第二COS端点的请求的接收导致DNS记录135B的插入。DNS记录135B包括第一COS服务名称和COS群聚104A的第一网络地址。当第一COS服务包括多于一个COS群聚时,第一COS服务名称将与附加COS群聚的附加网络地址相关联。第二COS服务120的创建不为COS集群103B中的第二COS服务产生COS群聚的部署。相反,在COS集群103B中创建第二COS服务120产生DNS记录,用于使得能够发现部署在第一COS集群103A中的第一COS服务和第一COS服务的COS群聚。
在一些实现中,在接收到创建第二COS服务和第二COS端点的请求时,COS集群103B确定创建是否被授权。在这些实现中,当确定创建被授权时(例如DNS复制器被授权进行这样的请求),执行第二COS服务和第二COS端点的创建。如果没有授权创建,则不创建第二COS服务和第二COS端点,并且没有为第一COS服务和该COS服务的群聚插入DNS记录。
在一些实现中,COS集群103B可以定义用于访问和修改COS资源的一组策略。该组策略,例如策略127B,可用于确定DNS复制器150是否被授权创建和/或修改第二COS服务。在一些实现中,策略127N与预定义的命名空间相关联。例如创建第二COS服务和第二COS端点的请求与第一命名空间(其中定义了第一COS服务和第一COS端点)相关联。基于该第一名字空间,COS集群103B确定在该第一名字空间中定义的资源的修改是否被授权用于DNS复制器150。由于策略集的创建由COS集群103B的管理员拥有,因此COS集群103B可用于控制谁可以将这些构造(例如第二COS服务和第二COS端点)注入到COS集群103B中,并且还指定他们可以在哪个命名空间中这样做。此外,如果当为给定的命名空间和/或DNS复制者定义策略集时出现错误,则该错误仅应用于该命名空间和/或COS集群,而不传播到其他COS集群和/或命名空间。由于该组策略是在COS级实现的,因此他们独立于在其上实现COS 102的云平台,并且可以在多个云提供商的云平台上不变地使用。
在一些实现中,COS集群103B的管理员可以定义多个COS集群(充当COS集群服务器)所共有的命名空间。由这些COS集群之一定义的每个COS服务包括COS集群的名称,并且在通用命名空间中定义。这使得与部署在其他COS集群上的COS服务相对应的在COS集群103B中创建的COS服务能够在该公共命名空间中定义,而不与本地部署在COS集群103B的节点上的COS服务的命名空间重叠。此外,在一些实现中,从COS集群103A复制到COS集群103B的COS服务的名称可被配置为包括COS集群103A的唯一标识符(例如COS集群103A的名称)。该唯一标识符允许COS集群103B以COS集群的粒度设置用于创建、更新和删除COS服务的策略。因此,策略集127B可按COS集群粒度或可选地按名称空间粒度来定义。
因此,在一些实现中,在创建第二COS服务之前,COS集群103B确定DNS复制器150被授权创建第二COS服务和第二COS端点。如果COS集群103B确定DNS复制器未被授权创建第二COS服务和第二COS端点,则不满足该请求。
在一些实现中,如果COS集群103A具有多于一个COS集群对等体,则DNS复制器150向这些其他对等体发送创建COS服务和COS端点的请求。例如DNS复制器150可以向第三COS集群103K发送创建对应于第一COS服务105A和第一COS端点114A的第三COS服务和第三COS端点的另一个请求。第三COS服务和第三COS端点的创建导致在第二DNS服务器120K中插入一个或多个第二DNS记录,该第二DNS服务器120K对于第三COS集群103K是本地的。插入第二DNS记录以使第三COS集群103K的一个或多个第三COS群聚能够通过网络110与第一COS集群103A的COS群聚104A通信。
在创建DNS记录135B之后,COS集群103的COS群聚(例如COS群聚104D)可以向COS集群DNS服务器120B发送DNS请求。DNS请求可以包括第一COS服务的名称(例如域名)。COS集群DNS服务器120B返回COS群聚104A的网络地址(例如IP地址和端口号)。COS群聚104D接收COS群聚104A的网络地址,并且能够通过网络110与第一COS服务105A和第一COS群聚104A通信。在另一示例中,DNS请求可以包括网络地址,并且COS集群DNS服务器120B可以返回COS服务的名称。
COS服务的更新
这里描述的解决方案还使得能够自动更新第一COS服务和COS群聚104A的DNS记录。当第一COS服务和/或第一COS服务的COS群聚被更新时,DNS复制器150接收对第一COS服务的更新。在一些实现中,对第一COS服务的更新可以是为第一COS服务实例化的新COS群聚的结果,导致为第一服务生成新的COS端点。例如给定节点上的COS群聚的故障,从给定节点驱逐COS群聚,或节点自身的故障迫使COS群聚从该节点移除并移动到另一节点。该移动导致COS群聚的IP地址的改变,这导致对与COS群聚相关联的COS端点的更新。DNS复制器150向第二COS集群103B发送更新第二COS端点的请求。第二COS服务的更新导致第二COS集群103B的第一COS集群DNS服务器120B中的第一DNS记录的更新。因此,即使当第一COS服务被更新时,第二COS集群103B中的第一COS服务的COS群聚的DNS记录的自动更新也允许第二COS集群103B的COS群聚到达第一服务的COS群聚。第一COS服务的更新的接收可以由连续监控第一COS集群103A的DNS复制器150产生。
在一些实现中,在接收到更新第二COS服务和第二COS端点的请求时,COS集群103B确定更新是否被授权。在这些实现中,当确定该更新被授权时,执行第二COS服务和第二COS端点的更新(例如DNS复制器被授权进行这种请求)。如果没有授权创建,则不更新第二COS服务和第二COS端点,并且不更新第一COS服务的DNS记录和第一COS服务的群聚。在一些实现中,COS集群103B可基于用于COS资源的访问和修改的策略集127B来执行更新是否被授权的确定。可以基于定义第二COS服务的名称空间和/或COS集群103A的名称来执行该确定。
在更新第二COS服务的DNS记录之后,COS集群103B的COS群聚(例如COS群聚104D)可以向COS集群DNS服务器120B发送DNS请求。DNS请求可以包括第一COS服务的名称(例如域名)。COS集群DNS服务器120B返回COS群聚104A的更新的网络地址(例如更新的IP地址和端口号)。COS群聚104D接收COS群聚104A的更新的网络地址,并能够基于更新的网络地址通过网络110与第一COS服务105A和第一COS群聚104A通信。
COS服务的删除
当第一COS服务被删除时,DNS复制器150从第一COS集群103A接收在第一COS集群103A中删除第一COS服务的指示。删除可以由系统管理员执行。DNS复制器150向第二COS集群103B发送删除第二COS服务和第二COS端点的请求。删除第二COS服务的请求导致删除第二COS集群103B的第一COS集群DNS服务器120B中的第一DNS记录。因此,自动删除第二COS集群103B中的第一COS服务的COS群聚的DNS记录允许第二COS集群103B的COS群聚不再能够到达第一服务的COS群聚。从连续监控第一COS集群103A的DNS复制器150接收删除第一COS服务的指示。
在一些实现中,在接收到删除第二COS服务的请求时,COS集群103B确定删除是否被授权。在这些实现中,当确定该删除被授权(例如DNS复制器被授权进行这样的请求)时,执行第二COS服务和第二COS端点的删除。如果删除未被授权,则不删除第二COS服务和第二COS端点,并且不删除第一COS服务的DNS记录和第一COS服务的COS群聚。在一些实现中,COS集群103B可以基于该组策略127B来确定删除是否被授权。该组策略127A可以与COS集群103A的名称空间和/或名称相关联。可以基于定义了第二COS服务的名称空间和/或COS集群103A的名称来确定是否授权删除。
在更新第二COS服务的DNS记录之后,COS集群103B的COS群聚(例如COS群聚104D)可以向COS集群DNS服务器120B发送DNS请求。DNS请求可以包括第一COS服务的名称(例如域名)。当COS服务的DNS记录被删除时,COS集群DNS服务器120B不返回COS群聚104A的网络地址(例如更新的IP地址和端口号)。第一COS服务不再可由COS集群103B的COS群聚访问。
图1D示出了DNS复制器150的示例实现的框图。虽然在一些实现中,例如图1A,DNS复制器被示为COS集群103A-B外部的组件,但是在其他实现中,DNS复制器150可被实现为一个或多个COS集群的一部分。图1D示出了示例实现,其中DNS复制器150包括分布在两个COS集群103A-B上的多个逻辑组件、COS服务监控单元152和同步单元154。COS服务监控单元152用于监控COS服务并接收COS服务和COS端点被创建,更新和/或删除的指示。响应于接收到这些指示,COS服务监控单元152发送创建对应于第一COS服务和第一COS端点的第二COS服务和第二COS端点的请求。该请求由同步单元154接收,同步单元154可操作地引起在COS集群103B中的第二COS服务和第二COS端点的创建/更新/删除。此外,在该示例实现中,COS集群的对等COS集群可包括从COS集群103A的COS服务监控单元152接收请求的相应同步单元。在一些实现中,COS集群可以包括两个元素,COS服务监控单元152和同步单元154。监控单元152用于监控COS集群内部的COS服务,同步单元154用于接收和响应从其他COS集群提供的请求。可以设想DNS复制器150的多个实现,而不脱离这里描述的实现的范围。
示例操作
图2A是示出根据一些示例实现的跨多个COS集群的COS服务发现系统的方法的流程图。图2A的操作在DNS复制器150中执行。可选框202示出监控包括第一COS集群的一个或多个COS集群。在一个实现中,COS集群(例如COS集群103A-K)的监控是通过发送监控COS集群中的微服务上的操作的请求来发起的,框203。
在框204,接收创建第一COS服务和一个或多个第一COS端点的指示。响应于在第一COS集群103A中创建的第一COS服务和第一COS端点,接收该指示。该指示可以是描述发生在第一COS集群中的修改类型(例如第一COS服务和COS端点的创建)的串行化消息。第一COS服务定义第一COS集群中的一个或多个COS群聚的集合,例如第一COS服务105A定义COS群聚104A。第一COS端点的COS端点包括一个或多个COS群聚的集合中的COS群聚的网络地址。例如COS群聚104A的COS端点包括COS群聚104A的IP地址和端口号。响应于第一COS集群中第一COS服务和一个或多个第一COS端点的创建,执行第一COS服务和第一COS端点的接收。
操作从框204移动到框206。在可选框206,DNS复制器确定需要通过网络与第一COS集群通信的一个或多个COS集群。所述一个或多个COS集群包括第二COS集群。在一些实现中,DNS复制器可访问COS集群的集合,其中每个COS集群与一个或多个对等COS集群相关联。对等COS集群是需要与COS集群通信的COS集群。对等COS集群充当COS集群的客户机COS集群,并且可操作用于请求和访问在COS集群上实例化的服务。例如DNS复制器150可以访问图1C中的数据结构,其中对于由唯一标识符标识的COS集群,标识一个或多个相关联的COS集群对等体。数据结构(例如表)可以被存储为DNS复制器150的一部分。或者,数据结构可在DNS复制器150可通过网络访问的外部数据存储(例如数据库)上实现。在一个示例中,COS集群可以具有单个COS集群对等体,其指示单个COS集群需要与该COS集群通信。例如图1C的表中的COS集群103G具有COS集群103B作为他的同位体。在其他示例中,COS集群可以具有多于一个COS集群对等体,其指示多于一个COS集群需要与COS集群通信。例如图1C的表中的COS集群103A具有两个COS集群对等体103B和103C。COS集群的标识符唯一地标识系统102中的COS集群。
操作从框206移动到框208。在一些实现中,当跳过框206中的操作时,操作流从框204移动到框208。在框208,DNS复制器150发送在第二COS集群中创建对应于第一COS服务和一个或多个第一COS端点的第二COS服务和一个或多个第二COS端点的请求。在一些实现中,第二COS服务和第二COS端点分别是第一COS服务和第一COS端点的副本。第二COS服务和一个或多个第二COS端点的创建导致在本地于第二COS集群的第一DNS服务器中插入一个或多个第一域名系统(DNS)记录。插入一个或多个第一DNS记录以使第二COS集群的一个或多个COS群聚能够通过网络与第一COS集群的一个或多个COS群聚组通信。
在一些实现中,操作从框208移动到可选框210。在框210,DNS复制器150向一个或多个COS集群中的第三COS集群(例如COS集群103K)发送另一个请求,以在第三COS集群103K中创建对应于第一COS服务和一个或多个第一端点的第三COS服务和一个或多个第三COS端点。第三COS服务和一个或多个第三COS端点的创建导致在第二DNS服务器中插入一个或多个第二DNS记录,该第二DNS服务器对于第三COS集群是本地的。插入一个或多个第二DNS记录,以使第三COS集群103K的一个或多个第三COS群聚能够通过网络与第一COS集群103A的一个或多个COS群聚组通信。当第一COS集群与多于一个COS集群对等体相关联时,执行可选框210的操作。在第一COS集群与单个COS集群对等体相关联的情况下,创建对应于第一COS服务(以及对应于第一COS端点的COS端点)的COS服务的请求仅被发送到该COS集群对等体。虽然图1C所示的示例示出了具有两个COS集群对等体的COS集群和具有单个COS集群对等体的COS集群,但是其他示例也在这里讨论的实现的范围内,其中COS集群可以与任何数量的COS集群对等体相关联。
图2B示出了根据一些实现的可以被执行用于基于第一COS服务的更新来更新DNS记录的示例操作的流程图。图2B的操作由DNS复制器150执行。在框212A,DNS复制器150接收对第一COS服务的更新。在一些实现中,对第一COS服务的更新可以是为第一COS服务实例化的新COS群聚的结果,导致自动生成第一服务的新COS端点。可以设想各种类型的更新。例如支持COS服务的COS群聚的数量可能改变,导致COS端点中的IP地址和COS群聚名称改变。此外,当COS群聚改变其IP地址时,COS端点被更新。另一更新可以是COS服务被重命名,使得先前的COS服务和相关联的COS端点被删除并创建新的COS服务。可以在描述修改的内容和修改的类型(例如更新)的串行化消息中接收更新。操作流程从框212A移动到框214A。在框214A,DNS复制器150向第二COS集群103B发送更新第二COS服务的请求。第二COS服务的更新导致第二COS集群103B的第一DNS服务器120B中的第一DNS记录的更新。因此,第二COS集群103B中的第一COS服务的COS群聚的DNS记录的自动更新允许第二COS集群103B的COS群聚具有在更新第一服务时到达第一服务的COS群聚的能力。第一COS服务的更新的接收可以由连续监控第一COS集群103A的DNS复制器150产生。
图2C示出了根据一些实现的可以被执行用于基于第一COS服务的删除来删除DNS记录的示例操作的流程图。图2C的操作由DNS复制器150执行。在框212B,DNS复制器150接收在第一COS集群中删除第一COS服务的指示。当在第一COS集群103A处删除第一COS服务时,接收删除第一COS服务的指示。该指示可以是描述什么被修改以及修改类型是什么(创建、更新、删除)的串行化消息。删除可以由系统管理员执行。操作流程从框212B移动到框214B。在框214B,DNS复制器150向第二COS集群103B发送删除第二COS服务的请求。删除第二COS服务的请求导致删除第二COS集群103B的第一DNS服务器120B中的第一DNS记录。因此,自动删除第二COS集群103B中的第一COS服务的COS群聚的DNS记录允许第二COS集群103B的COS群聚不再能够到达第一服务的COS群聚。从连续监控第一COS集群103A的DNS复制器150接收删除第一COS服务的指示。
图2D示出了根据一些实现的可以在接收到创建第二COS服务和第二COS端点的请求时执行的示例操作的流程图。图2D的操作可以由需要与COS集群103A通信的客户端COS集群(例如COS集群103B或COS集群103K)来执行。在一些实现中,图2D的一些或全部操作可以由COS控制器126B执行。
在框222,接收创建对应于第一COS服务和一个或多个第一COS端点的第二COS服务和一个或多个第二COS端点的请求。在一些实现中,在框224,COS集群103B确定第二COS服务和第二COS端点的创建被授权。在一些实现中,基于为COS集群103B中COS服务的创建而定义的一组策略来执行第二COS服务的创建被授权的确定。在一些实现中,该组策略与预定的命名空间相关联。不同的命名空间可以与不同的策略集相关联。
当确定第二COS服务和第二COS端点的创建被授权时,流程移动到框226。当确定第二COS服务和第二COS端点的创建未被授权时,该请求不被授权,并且COS服务和COS端点不在COS集群103B中创建。在框226,创建第二COS服务和第二COS端点。第二COS服务和第二COS端点对应于第一COS服务和第一COS端点。在一些实现中,第二COS服务和第二COS端点是第一COS服务和第一COS端点的副本。
流程移动到框228。作为创建第二COS服务和第二COS端点的结果,在本地于第二COS集群的第一DNS服务器中插入一个或多个第一DNS记录。第一DNS记录使第二COS集群的COS群聚能够通过网络110与第一COS集群的COS群聚组通信。第一COS集群的COS群聚组由第一COS服务和第一COS端点定义。
图2E示出了根据一些实现的可以在更新第一COS服务时执行的示例操作的流程图。图2E的操作可以由需要与COS集群103A通信的客户端COS集群(例如COS集群103B或COS集群103K)来执行。在一些实现中,图2E的一些或全部操作可以由COS控制器126B执行。
在框232A,COS集群103B接收更新第二COS服务的请求。在框234A,COS集群103B确定第二COS服务的更新被授权。当确定第二COS服务的更新被授权时,COS集群103B更新第二COS服务和一个或多个第二COS端点。在一些实现中,更新一个或多个COS端点可以包括删除COS端点、更新COS端点和/或添加用于第二COS服务的COS端点。在框236A,作为第二COS服务更新的结果,在第二COS集群103B的第一DNS服务器120B中更新与第一COS服务相关联的DNS记录。
图2F示出了根据一些实现的可以在删除第一COS服务时执行的示例操作的流程图。图2F的操作可以由需要与COS集群103A通信的客户端COS集群(例如COS集群103B或COS集群103K)来执行。在一些实现中,图2F的一些或全部操作可以由COS控制器126B执行。在框232B,COS集群103B接收删除第二COS服务的请求。在框234B,COS集群103B确定第二COS服务的删除被授权。当确定第二COS服务的删除被授权时,COS集群103B删除第二COS服务和第二COS端点。或者,如果确定删除未被授权,则不执行删除,并且不准许请求。在框236B,作为删除第二COS服务的结果,在第二COS集群103B的第一DNS服务器120B中删除与第一COS服务相关联的DNS记录。
示例实施方案
“参考”是指可用于定位数据结构的一段数据,并且可以以各种方式(例如指针、索引、句柄、键、标识符等)来实现。
系统对数据的接收可以在不同的实现中不同地发生(例如他可以被推送到系统(通常称为推送模型)、被系统拉取(通常称为拉取模型)等)。
术语“用户”是指使用系统和/或服务的实体(例如个人)的通用术语。多租户体系结构向每个租户提供软件实例的专用共享以及(通常)输入用于用户管理、租户专用功能、配置、定制、非功能性属性、相关联的应用等的租户专用数据的能力。多租户与多实例体系结构形成对比,其中单独的软件实例代表不同的租户操作。租户包括一组共享对提供服务的软件实例的具有特定特权的公共访问的用户。租户可以是组织(例如公司、公司内的部门等)。租户可以具有相对于系统和/或服务的一个或多个角色。例如在客户关系管理(CRM)系统或服务的上下文中,租户可以是使用CRM系统或服务来管理租户具有的关于厂商的一个或多个客户的信息的厂商。作为另一示例,在作为服务的数据(DAAS)的上下文中,一组租户可以是提供数据的厂商,而另一组租户可以是不同厂商或所有厂商的数据的客户。作为另一示例,在作为服务的平台(PAAS)的上下文中,一组租户可以是提供应用/服务的第三方应用开发者,而另一组租户可以是不同第三方应用开发者或所有第三方应用开发者的客户。用户可以具有相对于系统和/或服务的一个或多个角色。为了提供一些示例,用户可以是租户(例如供应商或客户)的代表(有时称为“最终用户”)、提供系统和/或服务的公司的代表(例如管理员),和/或在作为服务的平台(PAAS)上创建和维护应用程序的第三方应用程序开发者的代表(例如程序员)。
电子设备和机器可读介质
上述实现的一个或多个部分可以包括软件和/或软件和硬件的组合。电子设备(也称为计算设备、计算机等)包括硬件和软件,诸如联接到一个或多个机器可读存储介质(例如磁盘、光盘、只读存储器(ROM)、闪存、相变存储器、固态驱动器(SSD))的一个或多个处理器的集合,以存储用于在该处理器集合上执行的代码(其由软件指令组成并且有时称为计算机程序代码或计算机程序)和/或存储数据。例如电子设备可以包括非易失性存储器(具有较慢的读/写时间,例如磁盘、光盘、只读存储器(ROM)、闪存、相变存储器、SSD)和易失性存储器(例如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)),其中,即使在关闭电子设备时或在以其他方式移除电源时,非易失性存储器仍保持代码/数据。并且由于易失性存储器通常具有更快的读/写时间,因此在操作期间,电子设备将由该电子设备的该组处理器执行的那部分代码从非易失性存储器复制到该电子设备的易失性存储器中。作为另一示例,电子设备可以包括非易失性存储器(例如相变存储器),该非易失性存储器在关闭电子设备时保存代码/数据,并且具有足够快的读/写时间,使得代码/数据可以被直接提供给该组处理器(例如被加载到该组处理器的高速缓存中),而不是将要执行的代码/数据的一部分复制到易失性存储器中;换句话说,该非易失性存储器既作为长期存储器又作为主存储器工作,因此该电子设备可以没有或者只有少量的易失性存储器用于主存储器。除了在机器可读存储介质上存储代码和/或数据之外,典型的电子设备还可以通过一个或多个机器可读传输介质(也称为载波)(例如电、光、无线电、声或其他形式的传播信号,诸如载波、红外信号)来传输代码和/或数据。例如典型的电子设备还包括一组一个或多个物理网络接口,以与其他电子设备建立网络连接(使用传播信号来发送和/或接收代码和/或数据)。因此,电子设备可以用一个或多个机器可读介质(也称为计算机可读介质)来(内部地和/或通过网络与其他电子设备一起)存储和发送代码和/或数据。
电子设备用于各种目的。例如电子设备(有时称为服务器电子设备)可以执行使其作为用于向执行客户端软件(有时称为客户端代码或最终用户客户端)以与服务通信的另一电子设备(有时称为客户端电子设备、客户端计算设备或客户端设备)提供服务的一个或多个服务器来操作的代码。服务器和客户端电子设备可以分别由用户以管理员(也称为管理用户)和最终用户的角色来操作。
图3A是示出根据一些示例实现的电子设备300的框图。图3A包括硬件320,其包括一个或多个处理器322的集合、一个或多个网络接口324(无线和/或有线)的集合,以及其中存储有软件328(其包括可由一个或多个处理器322的集合执行的指令)的非瞬态机器可读存储介质326。先前描述的COS集群和DNS复制器中的每一个可以在一个或多个电子设备300中实现。在一个实现中:1)每个COS集群在电子设备300中的单独一个中实现(例如在由用户操作的用户电子设备中,其中软件328表示实现COS集群以与上述DNS复制器接口的软件(例如web浏览器、本地客户端、门户、命令行接口和/或基于诸如简单对象访问协议(SOAP),代表性状态传送(REST)等协议的应用程序接口(API)));2)上述DNS复制器在单独的一组一个或多个电子设备300(例如一组一个或多个服务器电子设备,其中软件328表示实现上述DNS复制器的软件)中实现;以及3)在操作中,实现COS集群和上述DNS复制器的电子设备将被通信地联接(例如通过网络),并且将在他们之间(或通过一个或多个其他层)建立连接,用于向上述DNS复制器提交请求并向末端COS集群返回响应。电子设备的其他配置可用于其他实现(例如其中COS集群和DNS复制器在单个电子设备300上实现的实现)。
在使用计算虚拟化的电子设备中,一个或多个处理器322的集合通常执行软件以实例化虚拟化层308和软件容器304A-R(例如利用操作系统级虚拟化,虚拟化层308表示允许创建多个软件容器304A-R(表示单独的用户空间实例并且也称为虚拟化引擎、虚拟专用服务器或软件监狱)的操作系统(或在基础操作系统上执行的垫片)的内核。每个都可以用于执行一个或多个应用的集合;在完全虚拟化的情况下,虚拟化层308表示管理程序(有时称为虚拟机监控器(VMM))或在主机操作系统之上执行的管理程序,并且软件容器304A-R各自表示被称为虚拟机的软件容器的紧密隔离的形式,虚拟机由管理程序运行并且可以包括访客操作系统;在对位虚拟化的情况下,与虚拟机一起运行的操作系统或应用程序可出于优化目的而知晓虚拟化的存在。同样,在使用计算虚拟化的电子设备中,在操作期间,在虚拟化层308上的软件容器304A内执行软件328的实例(图示为实例306A)。在不使用计算虚拟化的电子设备中,在“裸金属”电子设备300上执行主机操作系统之上的实例306A。实例306A以及虚拟化层308和软件容器304A-R(如果实现的话)的实例化被统称为软件实例302。
电子设备的替换实现可以具有与上述不同的多种变化。例如定制的硬件和/或加速器也可以用在电子设备中。
示例环境
图3B是根据一些实现的环境的框图,在该环境中可以使用上面讨论的实现COS服务发现的技术。系统340包括提供服务342的硬件(一个或多个电子设备的集合)和软件。系统340通过网络382联接到用户电子设备380A-S。服务342可以是对为一个或多个其他组织(有时称为外部用户)工作的一个或多个用户384A-S可用的按需服务,使得这些组织不需要必须关心构建和/或维护系统,而是在需要时(例如根据用户384A-S的需求)使用服务342。服务342可以经由一个或多个应用编程接口(API)(例如代表性状态转移(REST)API)彼此通信和/或与一个或多个用户电子设备380A-S通信。用户电子设备380A-S由用户384A-S操作。
因此,系统340包括图1A的COS 102的至少一个实例。
系统340可以在单个数据中心或跨多个数据中心来实现。在一些实现中,COS 102的至少一个实例在这些一个或多个数据中心的每一个中实现。
服务342包括由应用提供的一个或多个服务,应用使用上述发布编排技术使用COS群聚来部署,服务342包括客户关系管理(CRM)服务(例如salesforce.com,Inc.的销售云)、合同/提议/报价服务(例如salesforce.com,Inc.的销售云和现场服务闪电)、客户支持服务(例如salesforce.com,Inc.的服务云和现场服务闪电)、营销服务(例如salesforce.com,Inc.的营销云、Salesforce DMP和Pardot)、商业服务(例如salesforce.com,Inc.的商业云数字、商业云订单管理以及商业云商店)、与外部商业数据源的通信(例如salesforce.com,Inc.的salesforce连接)、生产力服务(例如salesforce.com,Inc.的Quip)、作为服务的数据库(例如salesforce.com,Inc.的Database.comTM)、作为服务的数据(DAAS)(例如salesforce.com,Inc.的Data.com)、作为服务的平台(PAAS)(例如执行运行时和应用(app)开发工具;例如HerokuTM公司、Thunder和salesforce.com,Inc.的和Lightning)、分析服务(例如salesforce.com,Inc.的Einstein Analytics、Sales Analytics和/或Service Analytics)、社区服务(例如salesforce.com,Inc.的社区云和Chatter)、物联网(IoT)服务(例如salesforce.com,Inc.的Salesforce IoT和IoT Cloud)、行业特定服务(例如salesforce.com,Inc.的金融服务云和健康云)、人造智能服务(例如salesforce.com,Inc.的Einstein),和/或作为服务的基础设施(IAAS)(例如虚拟机、服务器和/或存储器)。例如系统340可以包括应用平台344,其使得PAAS能够创建、管理和执行由应用平台344的提供者开发的一个或多个应用,经由用户电子设备380A-S中的一个或多个访问系统340的用户,或者经由用户电子设备380A-S中的一个或多个访问系统340的第三方应用开发者。
在一些实现中,系统340是多租户云计算架构,并且一个或多个服务342可以利用一个或多个多租户数据库346,以及用于系统340可访问的系统数据352的系统数据存储350。在某些实现中,系统340包括一个或多个服务器的集合,这些服务器运行在服务器电子设备上并且被配置成处理针对与任何租户相关联的任何授权用户的请求(对于用户和/或租户而言,特定服务器不存在服务器亲缘关系)。用户电子设备380A-S与系统340的服务器通信以请求和更新租户级数据和系统340所托管的系统级数据,并且作为响应,系统340(例如系统340中的一个或多个服务器)可以自动生成一个或多个结构化查询语言(SQL)语句(例如一个或多个SQL查询),该SQL语句被设计为从一个或多个多租户数据库346和/或系统数据存储350访问期望的信息。
在一些实现中,使用响应于来自用户电子设备380A-S的查询并根据元数据在运行时动态创建的虚拟应用来实现服务342,元数据包括:1)描述多个租户共有的构造(例如表格、报告、工作流、用户访问权限、商业逻辑)的元数据;和/或2)这样的元数据,其是租户特定的并且描述租户特定的构造(例如表格、报告、仪表板、接口等)并且被存储在多租户数据库中。为此,程序代码360可以是将应用数据从元数据具体化的运行时引擎;也就是说,存在编译的运行时引擎(也称为系统内核)、租户数据和元数据的清楚分离,这使得可以独立地更新系统内核和租户专用的应用程序和模式,而实际上没有其中一个影响其他应用程序和模式的风险。此外,在一个实现中,应用平台344包括支持应用开发者创建和管理应用的应用设置机制,应用的创建和管理可由保存例程保存为元数据。可以使用提供编程语言风格接口的过程语言/结构化对象查询语言(PL/SOQL)来对包括上述云服务在内的此类应用程序的调用进行编码。在美国专利第7,730,478号中讨论了一些PL/SOQL语言实现的详细描述,该专利的标题为“METHOD AND SYSTEM FOR ALLOWING ACCESS TO DEVELOPEDAPPLICATIONS VIA A MULTI-TENANT ON-DEMAND DATABASE SERVICE”,由Craig Weissman在2007年9月21日提交。对应用的调用可以由一个或多个系统进程来检测,该系统进程管理为进行该调用的租户检索应用元数据并将该元数据作为软件容器(例如虚拟机)中的应用来执行。
网络382可以是LAN(局域网)、WAN(广域网)、电话网络、无线网络、点对点网络、星形网络、令牌环网络、集线器网络或其他适当配置中的任何一个或任何组合。网络可以遵循一个或多个网络协议,包括电气和电子工程师协会(IEEE)协议、第三代合作伙伴计划(3GPP)协议、第四代无线协议(4G)(例如长期演进(LTE)标准、LTE高级、LTE高级协议)、第五代无线协议(5G)或类似的有线和/或无线协议,并且可以包括用于在系统340和用户电子设备380A-S之间路由数据的一个或多个中间设备。
每个用户电子设备380A-S(诸如台式个人计算机、工作站、膝上型计算机、个人数字助理(PDA)、智能电话、增强现实(AR)设备、虚拟现实(VR)设备等)通常包括一个或多个用户接口设备,诸如键盘、鼠标、跟踪球、触摸板、触摸屏、笔等、视频或无触摸用户接口,用于结合由系统340提供的页面、表格、应用和其他信息与在显示器(例如监控器屏幕、液晶显示器(LCD)、平视显示器、头戴式显示器等)上提供的图形用户界面(GUI)交互。例如用户接口设备可用于访问系统340所托管的数据和应用程序,并对所存储的数据执行搜索,否则允许用户384与可呈现给用户384的各种GUI页面交互。用户电子设备380A-S可以使用TCP/IP(传输控制协议和因特网协议)与系统340进行通信,并且在较高的网络级使用其他联网协议进行通信,诸如超文本传输协议(HTTP)、FTP、重写文件系统(AFS)、无线应用协议(WAP)、文件传输协议(FTP)、网络文件系统(NFS)、基于诸如简单对象访问协议(SOAP)、代表性状态传输(REST)等协议的应用程序接口(API)。在使用HTTP的例子中,一个或多个用户电子设备380A-S可以包括HTTP客户端,通常称为“浏览器”,用于向系统340的服务器发送HTTP消息和从系统340的服务器接收HTTP消息,从而允许用户电子设备380A-S的用户384通过网络382从系统340访问、处理和查看其可用的信息、页面和应用。
结论
在以上描述中,阐述了诸如资源划分/共享/复制实现、系统组件的类型和相互关系,以及逻辑划分/集成选择等许多具体细节,以便提供更透彻的理解。然而,本领域技术人员应当理解,本发明可以在没有这些具体细节的情况下实施。在其他实例中,没有详细示出控制结构、逻辑实现、操作码、指定操作数的装置和完整的软件指令序列,因为本领域的普通技术人员利用所包括的描述将能够实现所描述的内容而无需过多的实验。
说明书中对“一个实现”,“实现”,“示例实现”等的引用指示所描述的实现可以包括特定特征、结构或特性,但是每个实现不一定包括该特定特征、结构或特性。此外,这些短语不一定指相同的实现。此外,当结合实现来描述特定特征、结构或特性时,无论是否明确描述,结合其他实现来影响这些特征、结构或特性都在本领域技术人员的知识范围内。
例如有时参考示出框图的图来描述示出流程图的图,反之亦然。无论是否明确描述,参考示出框图的图所讨论的替换实现也适用于参考示出流程图的图所讨论的实现,反之亦然。同时,除了参考框图讨论的那些之外,用于执行流程图的实现也在本说明书的范围内,反之亦然。
具有虚边界(例如大破折号、小破折号、点划线和点)的加括号的文本和框在本文中可用于示出向一些实现添加附加特征的可选操作和/或结构。然而,这样的符号不应当被认为意味着这些是唯一的选项或可选的操作,和/或具有实边界的块在某些实现中不是可选的。
在说明书和权利要求中,可以使用术语“联接”及其派生词。“联接”用于表示两个或多个元件,他们可以彼此直接物理或电接触,也可以不彼此直接物理或电接触,彼此协作或交互。
虽然附图中的流程图示出了由某些实现执行的操作的特定顺序,但是应当理解,这样的顺序是示例的(例如备选实现可以以不同的顺序执行操作、组合某些操作、重叠某些操作等)。
虽然以上描述包括若干示例实现,但是本领域技术人员将认识到,本发明不限于所描述的实现,并且可以在所附权利要求的精神和范围内进行修改和改变。因此,说明书是说明性的而不是限制性的。
Claims (22)
1.一种方法,包括:
接收在第一COS集群中创建第一COS服务和一个或多个第一COS端点的指示,
其中所述第一COS服务定义所述第一COS集群中的一个或多个COS群聚的集合,并且
其中所述一个或多个第一COS端点中的COS端点包括所述一个或多个COS群聚的集合中的COS群聚的网络地址;和发送请求以在第二COS集群中创建对应于所述第一COS服务和所述一个或多个第一COS端点的第二COS服务和一个或多个第二COS端点,
其中所述第二COS服务和所述一个或多个第二COS端点的创建使得在本地于所述第二COS集群的第一DNS服务器中插入一个或多个第一域名系统(DNS)记录,并且
其中所述一个或多个第一DNS记录被插入,以使得所述第二COS集群的一个或多个COS群聚能够通过网络与所述第一COS集群的所述一个或多个COS群聚的集合通信。
2.根据权利要求1所述的方法,还包括:
确定需要通过所述网络与所述第一COS集群通信的一个或多个COS集群,所述一个或多个COS集群包括所述第二COS集群。
3.根据权利要求2所述的方法,还包括:
向第三COS集群发送另一个请求,以在所述第三COS集群中创建对应于所述第一COS服务和所述一个或多个第一COS端点的第三COS服务和一个或多个第三COS端点,
其中所述第三COS服务和所述一个或多个第三COS端点的创建导致在本地于所述第三COS集群的第二DNS服务器中插入一个或多个第二DNS记录,并且
其中所述一个或多个第二DNS记录被插入,以使得所述第三COS集群的一个或多个第三COS群聚能够通过所述网络与所述第一COS集群的所述一个或多个COS群聚的集合通信。
4.根据权利要求1所述的方法,还包括:
接收所述第一COS服务进行更新的指示;和
向所述第二COS集群发送请求以更新所述第二COS服务,其中所述第二COS服务的更新导致所述第一DNS服务器中的所述一个或多个第一DNS记录的更新。
5.根据权利要求1所述的方法,还包括:
接收在所述第一COS集群中删除所述第一COS服务的指示;和
向所述第二COS集群发送请求以删除所述第二COS服务,其中在所述第二COS集群中删除所述第二COS服务导致所述第一DNS服务器中的所述一个或多个第一DNS记录的删除。
6.根据权利要求1所述的方法,其中所述第二COS服务和第二COS端点的创建是当所述第二COS集群确定所述创建被授权时执行的。
7.根据权利要求1所述的方法,其中在向所述第二COS集群提供服务的多个COS集群所共有的命名空间中定义所述第一COS服务。
8.根据权利要求1所述的方法,其中在监控包括所述第一COS集群的COS集群的同时,执行接收所述第一COS服务和所述一个或多个第一COS端点被创建的指示。
9.根据权利要求8所述的方法,其中所述第一COS服务与所述第一COS服务将被监控的指示相关联。
10.根据权利要求1所述的方法,其中所述第二COS服务和所述一个或多个第二COS端点是所述第一COS服务和所述一个或多个第一COS端点的副本。
11.根据权利要求1所述的方法,其中响应于在所述第一COS集群中创建所述第一COS服务和所述一个或多个第一COS端点,执行接收所述第一COS服务和所述一个或多个第一COS端点被创建的指示和发送请求以在所述第二COS集群中创建所述第二COS服务和所述一个或多个第二COS端点。
12.一种非瞬态机器可读存储介质,其提供指令,所述指令在由机器执行时引起所述机器执行包括如下的操作:
接收在第一COS集群中创建第一COS服务和一个或多个第一COS端点的指示,
其中所述第一COS服务定义所述第一COS集群中的一个或多个COS群聚的集合,并且
其中所述一个或多个第一COS端点中的COS端点包括所述一个或多个COS群聚的集合中的COS群聚的网络地址;和发送请求以在第二COS集群中创建对应于所述第一COS服务和所述一个或多个第一COS端点的第二COS服务和一个或多个第二COS端点,
其中所述第二COS服务和所述一个或多个第二COS端点的创建使得在本地于所述第二COS集群的第一DNS服务器中插入一个或多个第一域名系统(DNS)记录,并且
其中所述一个或多个第一DNS记录被插入,以使得所述第二COS集群的一个或多个COS群聚能够通过网络与所述第一COS集群的所述一个或多个COS群聚的集合通信。
13.根据权利要求12所述的非瞬态机器可读存储介质,其中所述操作还包括:
确定需要通过所述网络与所述第一COS集群通信的一个或多个COS集群,所述一个或多个COS集群包括所述第二COS集群。
14.根据权利要求13所述的非瞬态机器可读存储介质,其中所述操作还包括:
向第三COS集群发送另一个请求,以在所述第三COS集群中创建对应于所述第一COS服务和所述一个或多个第一COS端点的第三COS服务和一个或多个第三COS端点,
其中所述第三COS服务和所述一个或多个第三COS端点的创建导致在本地于所述第三COS集群的第二DNS服务器中插入一个或多个第二DNS记录,并且
其中所述一个或多个第二DNS记录被插入,以使得所述第三COS集群的一个或多个第三COS群聚能够通过所述网络与所述第一COS集群的所述一个或多个COS群聚的集合通信。
15.根据权利要求12所述的非瞬态机器可读存储介质,其中所述操作还包括:
接收所述第一COS服务进行更新的指示;和
向所述第二COS集群发送请求以更新所述第二COS服务,其中所述第二COS服务的更新导致所述第一DNS服务器中的所述一个或多个第一DNS记录的更新。
16.根据权利要求12所述的非瞬态机器可读存储介质,其中所述操作还包括:
接收在所述第一COS集群中删除所述第一COS服务的指示;和
向所述第二COS集群发送请求以删除所述第二COS服务,其中在所述第二COS集群中删除所述第二COS服务导致所述第一DNS服务器中的所述一个或多个第一DNS记录的删除。
17.根据权利要求12所述的非瞬态机器可读存储介质,其中所述第二COS服务和第二COS端点的创建是当所述第二COS集群确定所述创建被授权时执行的。
18.根据权利要求12所述的非瞬态机器可读存储介质,其中在向所述第二COS集群提供服务的多个COS集群所共有的命名空间中定义所述第一COS服务。
19.根据权利要求12所述的非瞬态机器可读存储介质,其中在监控包括所述第一COS集群的COS集群的同时,执行接收所述第一COS服务和所述一个或多个第一COS端点被创建的指示。
20.根据权利要求19所述的非瞬态机器可读存储介质,其中所述第一COS服务与所述第一COS服务将被监控的指示相关联。
21.根据权利要求12所述的非瞬态机器可读存储介质,其中所述第二COS服务和所述一个或多个第二COS端点是所述第一COS服务和所述一个或多个第一COS端点的副本。
22.根据权利要求12所述的非瞬态机器可读存储介质,其中响应于在所述第一COS集群中创建所述第一COS服务和所述一个或多个第一COS端点,执行接收所述第一COS服务和所述一个或多个第一COS端点被创建的指示和发送请求以在所述第二COS集群中创建所述第二COS服务和所述一个或多个第二COS端点。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/993,118 | 2020-08-13 | ||
US16/993,118 US11019023B1 (en) | 2020-08-13 | 2020-08-13 | Container orchestration system (COS) services discovery across multiple COS clusters based on COS cluster domain name system |
PCT/IB2021/050692 WO2022034378A1 (en) | 2020-08-13 | 2021-01-28 | Container orchestration system (cos) services discovery across multiple cos clusters based on cos cluster domain name system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116034576A CN116034576A (zh) | 2023-04-28 |
CN116034576B true CN116034576B (zh) | 2023-10-03 |
Family
ID=74505313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180055661.2A Active CN116034576B (zh) | 2020-08-13 | 2021-01-28 | 基于cos集群域名系统的跨多个cos集群的容器编排系统(cos)服务发现 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11019023B1 (zh) |
EP (2) | EP4376387A2 (zh) |
JP (1) | JP7361989B2 (zh) |
CN (1) | CN116034576B (zh) |
WO (1) | WO2022034378A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11776090B2 (en) | 2021-04-12 | 2023-10-03 | Sas Institute Inc. | Dynamic per-node pre-pulling in distributed computing |
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 |
FR3142312A1 (fr) * | 2022-11-18 | 2024-05-24 | Thales | Infrastructure de communication munie d'un maillage de services étendu ; Procédé et produit programme d'ordinateur associés. |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101300796A (zh) * | 2005-11-17 | 2008-11-05 | 国际商业机器公司 | 基于服务器加入集群的时间发送路由选择数据 |
CN110489203A (zh) * | 2019-07-01 | 2019-11-22 | 广东轩辕网络科技股份有限公司 | 一种容器调度框架系统 |
CN111182089A (zh) * | 2019-12-31 | 2020-05-19 | 北京金山云网络技术有限公司 | 容器集群系统和访问大数据组件的方法、装置及服务器 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US730478A (en) | 1902-07-11 | 1903-06-09 | Reuben E Saffold | Skirt and waist adjuster. |
US7730478B2 (en) | 2006-10-04 | 2010-06-01 | Salesforce.Com, Inc. | Method and system for allowing access to developed applications via a multi-tenant on-demand database service |
US9462427B2 (en) * | 2015-01-14 | 2016-10-04 | Kodiak Networks, Inc. | System and method for elastic scaling using a container-based platform |
US10482108B2 (en) * | 2016-02-26 | 2019-11-19 | Red Hat, Inc. | Container clustering in a container-based architecture |
US10572506B2 (en) | 2017-03-07 | 2020-02-25 | Salesforce.Com, Inc. | Synchronizing data stores for different size data objects |
US10503427B2 (en) * | 2017-03-10 | 2019-12-10 | Pure Storage, Inc. | Synchronously replicating datasets and other managed objects to cloud-based storage systems |
US10986479B2 (en) * | 2018-01-17 | 2021-04-20 | Micro Focus Llc | Service management and provisioning for tenant service instances |
US11520506B2 (en) | 2018-01-31 | 2022-12-06 | Salesforce.Com, Inc. | Techniques for implementing fault domain sets |
US10778646B2 (en) * | 2018-05-07 | 2020-09-15 | Cisco Technology, Inc. | Globally deployable context aware VPN headends in scale through namespaces |
US10691568B2 (en) | 2018-07-26 | 2020-06-23 | International Business Machines Corporation | Container replication and failover orchestration in distributed computing environments |
US11003434B2 (en) | 2019-01-29 | 2021-05-11 | Salesforce.Com, Inc. | Cloud services release orchestration with a reusable deployment pipeline |
US11216309B2 (en) * | 2019-06-18 | 2022-01-04 | Juniper Networks, Inc. | Using multidimensional metadata tag sets to determine resource allocation in a distributed computing environment |
US11070515B2 (en) * | 2019-06-27 | 2021-07-20 | International Business Machines Corporation | Discovery-less virtual addressing in software defined networks |
US11635990B2 (en) * | 2019-07-01 | 2023-04-25 | Nutanix, Inc. | Scalable centralized manager including examples of data pipeline deployment to an edge system |
US11635995B2 (en) * | 2019-07-16 | 2023-04-25 | Cisco Technology, Inc. | Systems and methods for orchestrating microservice containers interconnected via a service mesh in a multi-cloud environment based on a reinforcement learning policy |
-
2020
- 2020-08-13 US US16/993,118 patent/US11019023B1/en active Active
-
2021
- 2021-01-28 JP JP2023509637A patent/JP7361989B2/ja active Active
- 2021-01-28 WO PCT/IB2021/050692 patent/WO2022034378A1/en unknown
- 2021-01-28 EP EP24170552.4A patent/EP4376387A2/en active Pending
- 2021-01-28 EP EP21703077.4A patent/EP4173181B1/en active Active
- 2021-01-28 CN CN202180055661.2A patent/CN116034576B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101300796A (zh) * | 2005-11-17 | 2008-11-05 | 国际商业机器公司 | 基于服务器加入集群的时间发送路由选择数据 |
CN110489203A (zh) * | 2019-07-01 | 2019-11-22 | 广东轩辕网络科技股份有限公司 | 一种容器调度框架系统 |
CN111182089A (zh) * | 2019-12-31 | 2020-05-19 | 北京金山云网络技术有限公司 | 容器集群系统和访问大数据组件的方法、装置及服务器 |
Also Published As
Publication number | Publication date |
---|---|
JP2023537746A (ja) | 2023-09-05 |
EP4376387A2 (en) | 2024-05-29 |
EP4173181B1 (en) | 2024-04-17 |
JP7361989B2 (ja) | 2023-10-16 |
WO2022034378A1 (en) | 2022-02-17 |
US11019023B1 (en) | 2021-05-25 |
CN116034576A (zh) | 2023-04-28 |
EP4173181A1 (en) | 2023-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11809409B2 (en) | Multi-tenant distributed ledger interfaces | |
US10838920B2 (en) | Plug-in function platform and methods | |
CN116034576B (zh) | 基于cos集群域名系统的跨多个cos集群的容器编排系统(cos)服务发现 | |
US11843662B2 (en) | Sharing objects across namespaces in a container-orchestration system | |
US20170103226A1 (en) | Database public interface | |
US10740322B2 (en) | Collapsing multiple changes in a database for generating a reduced number of messages for an external system | |
KR101991537B1 (ko) | 자율형 네트워크 스트리밍 기법 | |
JP7143434B2 (ja) | クラウドサービスのデータキャッシング | |
US11614932B2 (en) | Method and system for machine learning framework and model versioning in a machine learning serving infrastructure | |
US20140250069A1 (en) | Systems and methods for selectively synchronizing files | |
US10824511B2 (en) | Data migration for a shared database | |
US10536559B2 (en) | Blocking an interface of a redirected USB composite device | |
US20220391747A1 (en) | Onboarding new machine learning applications in a multi-tenant on-demand model serving infrastructure using configuration objects | |
US11500893B2 (en) | System and method for dynamically finding database nodes and replication state | |
US11556608B2 (en) | Caching for single page web applications | |
US11782773B2 (en) | Automated application programing interface importation | |
US11656948B2 (en) | Method and system for mapping protection policies to data cluster components | |
US11544230B2 (en) | Cross environment update of cloud resource tags | |
US11968278B2 (en) | Method and system for decentralized message handling for distributed computing environments | |
US11764978B2 (en) | Method and system for certificate management | |
Krishnan et al. | Architecture Recipes for Google Cloud Platform | |
Vohra et al. | Accessing with Ruby |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: California, USA Applicant after: Shuo Power Co. Address before: California, USA Applicant before: SALESFORCE.COM, Inc. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |