用于可扩展网络服务的连接池制造技术

技术编号:32712688 阅读:16 留言:0更新日期:2022-03-20 08:10
描述了用于在源网络装置与目标连接受限服务之间提供连接池的系统和方法。每个连接池可促进源装置与目标服务之间的连接,同时确保与连接受限服务的连接不超过定义的限制。连接管理器服务可根据客户端装置的请求为目标服务初始化连接池,并且向客户端装置提供连接池的标识符。源网络装置然后可将用于目标服务的操作传输到连接管理器服务,该连接管理器服务可基于标识符将操作路由到适当的连接池。可基于标识符将操作路由到适当的连接池。可基于标识符将操作路由到适当的连接池。

【技术实现步骤摘要】
【国外来华专利技术】用于可扩展网络服务的连接池

技术介绍

[0001]计算装置可利用通信网络来交换数据。公司和组织操作将多个计算装置互连以支持操作或向第三方提供服务的计算机网络。计算系统可位于单个地理位置中或位于多个不同的地理位置中(例如,经由私有或公共通信网络互连)。具体地,数据中心或数据处理中心(本文一般称为“数据中心”)可包括多个互连的计算系统以向数据中心的用户提供计算资源。数据中心可以是代表组织操作的私有数据中心,或代表公众或为公众利益操作的公共数据中心。
[0002]为了提高数据中心资源的利用率,虚拟化技术允许单个物理计算装置托管一个或多个虚拟机实例,所述虚拟机实例对于数据中心的用户作为独立的计算装置出现和操作。通过虚拟化,单个物理计算装置可以动态方式创建、维护、删除或以其他方式管理虚拟机。继而,用户可从数据中心请求计算机资源,包括单个计算装置或联网计算装置的配置,并且被提供不同数量的虚拟机资源。
[0003]虚拟化技术和数据中心实现用于提供基于网络的服务的多种新技术。一种此类技术是“微服务”,在该微服务中,所需的功能不是简单地容纳在提供服务的单个装置中,而是分布在各种较小的、细粒度的服务(每个服务称为“微服务”)中。微服务可独立开发、维护、管理和扩展,从而为使用微服务构建的“宏服务”提供更高的灵活性和弹性。使用微服务时出现的一个难点是需要此类服务安全地互通。通常,不同的微服务在不同的平台或主机上实现,并且受到不同的安全约束。此外,不同的微服务可彼此独立地扩展。独立扩展可能对微服务本身有利,但在集成不同的微服务时造成困难。例如,第一微服务可能会扩展到其与另一微服务的通信压倒该另一微服务的资源的程度。
附图说明
[0004]图1是描绘由连接池促进的网络服务与数据库之间的通信的说明性逻辑流程的框图;
[0005]图2是描绘说明性环境的框图,在该说明性环境中,连接管理器服务可向基于网络的服务提供连接池,从而促进与另一基于网络的服务的安全通信;
[0006]图3描绘提供图1的连接管理器服务150的计算装置的一般架构;
[0007]图4是描绘用于配置图1的连接管理器服务150以为第一基于网络的服务提供连接池并且用于配置第二基于网络的服务以经由连接池与第一服务进行通信的说明性交互的流程图;
[0008]图5是描绘用于在由图1的连接管理器服务150提供的连接池与所述池提供到其的访问的基于网络的服务之间安全地发起连接的说明性交互的流程图;
[0009]图6A和图6B是描绘用于在图1的连接管理器服务150与尝试利用连接管理器服务150提供的连接池的基于网络的服务之间发起连接的说明性交互的流程图;
[0010]图7是描绘用于利用由图1的连接管理器服务150提供的连接池在第一基于网络的服务与第二基于网络的服务之间安全地通信的说明性交互的流程图;
[0011]图8是描绘用于向连接受限的网络服务提供连接池的说明性例程的流程图;
[0012]图9是描绘用于发起无服务器代码执行与目标网络服务之间的连接的说明性例程的流程图;并且
[0013]图10是描绘用于向托管服务实例提供认证的说明性例程的流程图。
具体实施方式
[0014]一般而言,本公开的方面涉及通过利用由连接管理服务提供的中间连接池来促进基于网络的服务(诸如微服务)之间的安全、可扩展连接。如本文中所公开的,连接池可使到池的每一“侧”上的服务的连接能够被独立地扩展,使得一个服务的扩展不会压倒另一服务。连接池可进一步提供对托管相应服务的不同网络的遍历,使得服务可经由池彼此交互,就好像它们存在于公共网络中一样。再进一步,连接池可通过解耦两个服务之间的认证来提供稳固的安全模型,使得服务可彼此认证而不需要向每个服务提供另一服务的认证信息。
[0015]作为说明性示例,考虑用户将信息存储在网络可访问数据库中的实例。数据库可提供有限数量的连接,使得如果其他服务访问数据库的尝试超过该数量,则不可能连接到数据库。另外,考虑用户可配置第二高度可扩展的服务来访问和利用来自数据库的信息。例如,第二服务可通过按需代码执行系统(有时称为“无服务器”系统)来实现,该系统用于按需执行用户定义的代码。如果用户定义的代码的每次执行都尝试访问数据库,那么如果用户定义的代码的执行超过数据库提供的连接的最大数量,则第二服务的实例预计可能失败。
[0016]连接池通过充当网络服务之间的“中间人”为这个问题提供解决方案。例如,如果数据库有n个连接的容量,则连接池可发起n个(或少于n个)到数据库的连接。其他服务可连接到连接池,并且将查询提交到池以进一步提交到数据库。以此方式,可预计到数据库的连接不超过数据库的容量。此外,连接池可提供一种“超额订阅”,使得服务的超过n个的实例可与数据库进行通信。例如,许多数据库协议是多阶段的,从而要求服务首先打开到数据库的连接,然后使用该连接与数据库进行交互。因此,服务与数据库之间的连接可限制到数据库的其他连接,不论该连接是否正在被主动使用。连接池可解决这个问题,方法是根据服务活动的需要,重用到数据库的给定连接以进行多个访问服务。例如,每个服务可独立于数据库发起到连接池的连接。当查询被提交到连接池时,池可选择到数据库的未使用的连接,并且通过该连接将查询提交到数据库。只要服务所需的活动连接的数量不超过到数据库的可能的连接的数量,连接到池的服务(并且因此,从服务的角度来看,“连接”到数据库)的数量几乎可无限扩展。
[0017]由连接池促进的网络服务与数据库之间的通信的逻辑流的一个示例在图1中示出。具体地,在图1中,示出了多个网络服务10

30,每个网络服务基于到数据库50的连接60运行。每个服务10

30的连接60的量被示出为连接60的相对宽度,其中连接60A

60C的量之和超过连接60D的量。因此,虽然数据库50可支持有限数量的连接60D,但是连接池40使服务10

30的连接60A

60C能够超过该有限数量。在服务10

30被配置为独立于数据库50扩展的情况下,这种配置是特别需要的。
[0018]创建连接池40的一个选项是为每个数据库50(或其他资源有限的服务)手动配置
连接池40。例如,在服务10

30和数据库50在托管计算环境(有时称为“云”计算环境)中实现的情况下,该环境的用户也可诸如通过开通具有提供连接池40的软件的虚拟机实例实现连接池40。然而,用户创建连接池40带来了显著的缺点。例如,托管计算环境通常为各种服务提供隔离的网络。说明性地,托管计算环境可使用户能够配置“虚拟私有网络环境”或“虚拟私有云”(“VPC”),使得包括在网络内的计算装置能够彼此通信,就好像它们经由物理局域网(LAN)连接一样。图1的数据库50可包括在此类VPC内。如果网络服务10

30不位于VPC内,使用连接池40将需要用户“冲过”VPC边界,从而使服务10
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种计算机实现的方法,其包括:接收对多个连接受限的、网络可访问服务中的目标网络服务的操作的传输,所述传输包括来自多个连接池的与所述目标网络服务相对应的连接池的标识符,其中所述多个连接池中的每个连接池提供到所述多个连接受限的、网络可访问服务中的对应连接受限的、网络可访问服务的连接池;至少部分地基于所述连接池的所述标识符标识提供所述连接池的计算装置;以及将所述传输路由到提供所述连接池的所述计算装置;其中提供所述连接池的所述计算装置被配置为通过到所述目标网络服务的现有连接获得所述传输并将所述操作转发到所述目标网络服务。2.如权利要求1所述的计算机实现的方法,其中至少部分地基于所述连接池的所述标识符标识提供所述连接池的计算装置包括利用域名服务(DNS)服务器将所述连接池的所述标识符解析为所述计算装置的网络地址。3.如权利要求1所述的计算机实现的方法,其中一组计算装置提供所述连接池,并且其中至少部分地基于所述连接池的所述标识符标识提供所述连接池的计算装置包括应用负载平衡标准以标识所述一组计算装置中的所述计算装置。4.如权利要求1所述的计算机实现的方法,其中所述传输还包括源装置的认证信息,并且其中所述方法还包括在将所述传输路由到提供所述池的所述计算装置之前使用所述认证信息来认证所述源装置。5.如权利要求4所述的计算机实现的方法,其中所述传输包括标识所述操作的网络包,所述网络包用包括所述源装置的所述认证信息的标头封装。6.如权利要求4所述的计算机实现的方法,其中所述源装置是托管在托管计算环境上的虚拟计算装置,并且其中所述源装置的所述认证信息由所述托管计算环境提供到所述虚拟计算装置。7.如权利要求1所述的计算机实现的方法,其中所述目标网络服务包括在虚拟私有网络环境内,并且其中所述方法还包括:接收生成与所述目标网络服务对应的所述连接池的请求;以及配置所述计算装置以访问所述虚拟私有网络环境。8.如权利要求1所述的计算机实现的方法,其还包括:从提供所述连接池的所述计算装置接收所述目标网络服务的响应;以及将所述响应返回到从其接收所述...

【专利技术属性】
技术研发人员:亚当
申请(专利权)人:亚马逊技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1