状态感知负载平衡制造技术

技术编号:18465936 阅读:15 留言:0更新日期:2018-07-18 15:59
负载平衡器从客户端设备接收用于对应用的连接的客户端请求。负载平衡器向监视服务器查询与该应用关联的一个或多个应用服务器的列表。监视服务器基于多个应用服务器的高速缓存状态信息确定一个或多个应用服务器的列表。负载平衡器代表客户端设备建立到其中一个应用服务器的连接。

State aware load balance

The load balancer receives the client request for connection to the application from the client device. The load balancer queries the monitoring server for a list of one or more application servers associated with the application. The monitoring server determines the list of one or more application servers based on cache status information of multiple application servers. The load balancer represents the connection of the client device to one of the application servers.

【技术实现步骤摘要】
【国外来华专利技术】状态感知负载平衡
技术介绍
传统的负载平衡器包括促进客户端设备和应用服务器之间的应用流的代理服务器。负载平衡器在多个应用服务器之间分配流量,应用服务器可以是在多个主机上运行的应用服务器的虚拟化实例。负载平衡机制可能是循环分配机制,或者是将应用流分配给服务器的一些其他的机制。代理服务器将应用服务器表示给外部客户端。代理服务器提供服务连续性。负载平衡器或代理服务器组件可以监视应用服务器是否可访问,并且将传入的流分配给当前可访问的那些应用服务器。
技术实现思路
提供本
技术实现思路
是为了介绍在下面于具体实施方式中进一步描述的本公开的简化概念。本
技术实现思路
不旨在标识所要求保护的主题的基本特征,也不旨在用于确定所要求保护的主题的范围。本公开的示例提供了用于负载平衡的系统、方法和装置,其中监视服务监视多个应用服务器的状态信息。状态信息包括诸如基于硬件的状态信息、软件状态信息、应用服务器到后端服务器的网络连接性的状态、或其他状态信息等。当负载平衡器接收到来自客户端设备的建立到应用服务器的新的流的请求时,它向监视服务器查询可用于标识处理该请求的应用服务器的标识符。监视服务器接收该查询并基于应用服务器的状态信息,将一个或多个应用服务器标识符提供回负载平衡器。负载平衡器选择那些标识符的其中一个标识符,并且设立到应用服务器的连接,诸如代理连接。附图说明参照附图阐述了具体实施方式。在附图中,附图标记最左边的(一个或多个)数字标识附图标记首次出现的附图。在不同的图中使用相同的附图标记指出相似或相同的项。图1是图示了用于状态感知负载平衡的示例环境的框图。图2图示了具有服务器标识服务的示例主机服务器节点的框图。图3图示了具有监视服务的示例主机服务器节点的框图。图4图示了描绘用于提供状态感知负载平衡的示例过程的流程图。图5图示了描绘用于基于状态信息来确定处理客户端请求的应用服务器的列表的示例过程的流程图。图6是可用于实施虚拟资源监视和联网策略更新的示例计算系统的框图。具体实施方式本申请的实施例包括具有负载平衡的环境,并且其中,监视服务监视多个应用服务器的状态信息。状态信息包括基于硬件的状态信息之类的信息,包括托管应用服务器实例的主机服务器上的CPU利用、网络利用和存储器负载。状态信息还可以包括软件状态信息,诸如由主机服务器或特定的应用服务器实例处理的流的数量、应用服务器的高速缓存状态等等。状态信息可以包括应用服务器到后端服务器的网络连接性的状态。当负载平衡器从客户端设备接收一个建立到应用服务器的新的流的请求时,它会向监视服务器查询处理该请求的应用服务器的标识符。监视服务器接收查询,并且基于应用服务器的状态信息将一个或多个应用服务器标识符提供回负载平衡器。负载平衡器选择那些标识符中的一个,并且设立到应用服务器的连接(诸如代理连接)。传统的负载平衡器可以维护用于其所服务的应用服务器的“向上或向下(upanddown)”状态信息。然而,传统的负载平衡器对每个应用服务器没有更进一步的可见性。例如,传统的负载平衡器没有对应用服务器的CPU负载、应用服务器数据高速缓存、或关于特定的应用服务器对客户端请求的适当性的其他信息的可见性。该信息在优化或以其他方式改善数据中心资源利用以向更多客户端设备提供应用方面很有用。本公开的实施例利用了状态信息。该状态信息指示当前应用服务器的能力(capacity)和响应能力,以及该能力和响应能力怎样受到数据中心的基础设施(例如,操作系统、软件、服务器、储存器、和网络设备)的影响。监视服务器还可以接收指示被实例化为虚拟机的应用服务器的状态的信息。监视服务器可以被配置为维护关于被高速缓存在应用服务器中的数据的信息,这可以提供关于哪个应用服务器是最合适的或者以其他方式足够适合于响应客户端请求的信息。因此,本申请的实施例在负载平衡的数据中心环境中的应用服务器之间提供了智能地路由连接请求的能力。与传统的负载平衡相比,实施例提供了对客户端请求的更快响应、更少的连接丢失、更少的超时等等。图1是图示了用于状态感知负载平衡的示例环境100的示意图。负载平衡器节点102包括策略贮存器104和负载平衡逻辑106。负载平衡器节点102可以包括负载平衡器节点102的组件在其上被存储和执行的服务器计算机。负载平衡器节点102还可以包括路由器功能性、防火墙功能性、网络地址转换(NAT)功能性等等。负载平衡器节点102可以是专用的硬件负载平衡器,或负载平衡器的服务器计算机实现,包括在数据中心计算系统上执行的负载平衡器的虚拟化的实例化。负载平衡器节点102的各方面可以分布在一个或多个计算系统之中。负载平衡器节点102的代理服务108代理用于一个或多个客户端设备110的连接。监视服务节点112监视托管一个或多个应用服务器116的多个主机服务器节点114。应用服务器116可以是作为虚拟机、作为应用容器或作为其他虚拟化类型来执行的虚拟化的实例化。应用服务器116可以包括前端服务器,诸如网络服务器、电子邮件服务器,或客户端设备110可以初始连接到的其他服务器。应用服务器116可以包括中间层服务器,诸如可以在联网环境中应用“业务逻辑”。例如,这样的业务逻辑可以包括与诸如网络服务器或其他服务器之类的前端服务器前端的客户端会话相关联的状态性数据。一个示例是在电子商务网站上的购物会话期间处理与顾客的购物车相关联的状态性数据的购物车服务器。另一个示例可以是经由web界面向客户端提供基于云的生产力软件(例如,电子表格程序、文字处理程序等)的服务器。应用服务器116还可以包括诸如数据库服务器之类的后端服务器,后端服务器可以提供中间层服务器或前端服务器用来获得与客户端设备110建立的会话相关的数据的信息。应用服务器116的其他示例在不脱离实施例的范围的情况下是可能的。尽管图1中的客户端设备被示出为手持式计算设备(诸如平板计算机或移动电话),然而根据实施例的客户端设备110包括能够与应用服务器116建立客户端-服务器连接的广泛的设备,包括膝上型计算机、游戏控制台、台式计算机、智能电视、电视机顶盒、服务器计算机、信息亭计算系统、媒体播放器、智能电器(诸如网络启用的恒温器、家庭安全系统、冰箱等)、可穿戴设备(诸如,嵌入衣服、眼镜、护目镜、鞋子等中的计算设备)。客户端设备110还包括应用服务器,包括多用户、多应用服务器。在一个实现中,客户端设备110可以是前端web服务器,并且应用服务器116可以是向客户端设备110提供业务逻辑服务的中间层服务器。因此,客户端设备110本身可以是服务器计算机,其与其他客户端设备相连接,以向那些客户端设备提供应用功能性。客户端设备110的其他示例在不脱离实施例的范围的情况下是可能的。代理服务108接受来自一个或多个客户端设备110的对连接到应用的传入客户端请求,在图1中用标有圆圈的“1”来指示。该应用与应用服务器116相关联,应用服务器116被配置为服务于与该应用相关联的客户端请求。客户端请求标识该应用。例如,该应用可以由目标网络地址、协议、目标端口号、更高层信息等中的一个或多个来标识。在互联网协议(IP)联网RT环境中,该应用可以通过目标IP地址、传输层协议(诸如传输控制协议(TCP)、用户数据报协议(UDP)和端口号)的指示来标识。在一个示例中,端本文档来自技高网...

【技术保护点】
1.一种计算系统,包括:一个或多个处理器;存储器;以及多个编程指令,所述多个编程指令被存储在所述存储器上并由所述一个或多个处理器可执行以执行动作,所述动作包括:由监视服务器接收指示由负载平衡器从客户端设备接收的客户端请求的信息,所述客户端请求用以建立到应用的连接;至少基于多个应用服务器的高速缓存状态信息,从所述多个应用服务器中标识用以处理所述客户请求的一个或多个应用服务器;以及向所述负载平衡器提供每个都对应于所述一个或多个应用服务器的一个或多个标识符。

【技术特征摘要】
【国外来华专利技术】2015.12.04 US 14/960,2181.一种计算系统,包括:一个或多个处理器;存储器;以及多个编程指令,所述多个编程指令被存储在所述存储器上并由所述一个或多个处理器可执行以执行动作,所述动作包括:由监视服务器接收指示由负载平衡器从客户端设备接收的客户端请求的信息,所述客户端请求用以建立到应用的连接;至少基于多个应用服务器的高速缓存状态信息,从所述多个应用服务器中标识用以处理所述客户请求的一个或多个应用服务器;以及向所述负载平衡器提供每个都对应于所述一个或多个应用服务器的一个或多个标识符。2.根据权利要求1所述的计算系统,其中所述高速缓存状态信息包括被存储在所述多个应用服务器的本地存储器中的信息以及所述多个应用服务器的应用状态信息。3.根据权利要求1所述的计算系统,其中所述高速缓存状态信息包括被高速缓存在所述多个应用服务器上的数据的可用性,并且其中基于所述高速缓存状态信息来标识所述一个或多个应用服务器包括确定在所述多个应用服务器上被高速缓存的所述数据是否与所述客户端请求相关。4.根据权利要求1所述的计算系统,其中所述动作还包括:从所述多个应用服务器和托管所述多个应用服务器的数据中心基础设施接收一个或多个更新,所述一个或多个更新共同地包括所述高速缓存状态信息和能力信息;基于所述一个或多个更新来计算针对给定的应用服务器组的标识符的列表;以及使得附加的应用服务器至少基于所述一个或多个更新而被实例化。5.根据权利要求1所述的计算系统,其中所述动作还包括基于托管应用在其上执行的所述多个应用服务器的数据中心基础设施的能力信息来标识所述一个或多个应用服务器,并且其中所述能力信息包括能力阈值。6.根据权利要求5所述的计算系统,其中所述能力信息包括中央处理单元(CPU)利用、存储器利用、储存器利用、网络利用中的一个或多个,并且其中所述数据中心基础设施包括从包括以下的群组中选择的一个:操作系统、软件、服务器、文件服务器、网络连接的储存器和网络设备。7.根据权利要求5所述的计算系统,其中所述能力信息包括所述多个应用服务器的当前活动连接数、由所述多个应用服务器处理的每秒连接数或者所述多个应用服务器的在线状态中的至少一个。8.根据权利要求5所述的计算系统,其中所述多个应用服务器是在一个或多个主机服务器...

【专利技术属性】
技术研发人员:R·普里B·M·舒尔茨D·G·萨勒
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国,US

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

1