超级集群解决方案,第 1 部分: 实现应用程序的最大可伸缩性的技巧
2009-09-28 00:00:00 来源:WEB开发网简介
对于大多数企业软件拓扑结构,应用程序可伸缩性是一项重要的服务品质。为了实现可伸缩性,企业级 Java™ EE 应用程序通常被部署到 IBM WebSphere Application Server Network Deployment 集群 中,并在其中执行。然而,集群的实际大小是有限制的。如果集群的规模还不足以处理所需的应用程序负载,该怎么办?
这个共分 2 部分的系列文章介绍了一种有用的技巧,可以在 WebSphere Application Server 中实现最大程度的应用程序可伸缩性,我们将之称为超级集群。本系列的第一部分介绍了将应用于 HTTP 插件和 WebSphere Proxy Server 的 “超级集群” 技巧。第 2 部分将讨论 DMZ Secure Proxy Server for WebSphere Application Server、IBM WebSphere Virtual Enterprise 随需应变路由器(ODR),以及 IBM WebSphere eXtreme Scale。
集群
为了实现可伸缩性,企业级 Java EE 应用程序通常被部署到 WebSphere Application Server Network Deployment(此后简称为 Network Deployment)集群,并在其中执行。客户机请求跨越集群进行路由,因此将在所有应用服务器进程之间分配工作负载。
图 1. 分布在集群成员之间的客户机请求
亲缘性(affinity)
如果应用程序使用无状态的方式进行设计,那么请求将被路由到包含已部署应用程序的任意 Network Depoloyment 集群成员中(无请求亲缘性)。然而,根据协议和应用程序设计,客户机请求可以与特定的 Network Deployment 集群成员具有一种亲缘性。例如,一个 HTTP 会话可能会在处理第一个请求的集群成员中创建,因此该客户机的所有后续请求应当发送到相同的集群成员。亲缘性例子包括 HTTP 会话与 HTTP 协议的亲缘性、SIP 会话与 SIP 协议的亲缘性、IIOP 的事务亲缘性,等等。大多数路由器组件在向集群成员(应用服务器)转发请求时都可以维护相应的亲缘性。
更多精彩
赞助商链接