项目概况
用户系统平台为IBM的AIX系统,中间件是WebSphere,在新一期的扩容方案中,需要对应用进行加速,提升系统服务能力,提高系统的安全性,以及整体系统的高可用性。
用户面临的挑战
1、 加速
在部署应用的过程中,用户数大量并发的情况下,WebSphere的应用延迟加大,在客户端出现等待和无法打开的现象,因此需要对应用进行加速。
2、 安全
目前用户已经使用HTTPS的加密传输方式,在第一期的实施中,暂时不进行HTTPS的卸载,在第二期中结合应用开发再进行改造。
系统需要进行DoS攻击的防护,提高系统的安全性。
3、 可用性
现有系统中的客户端连接的分发是由Apache完成的,实际使用中,经常出现Apache的挂起,导致客户端的请求不能继续,因此需要将由Apache分发的工作改成由Citrix NetScaler完成。
4、 特殊的会话保持需求
由于在同一台IBM AIX上运行多个WebSphere实例,每个实例使用2G内存空间。为了便于管理,所有的WebSphere的实例处于同一个Cluster,管理员只需要发布一次命令可以同步到所有的实例中。
WebSphere的验证是由加密的HTTPS完成的,在完成后,用户端的请求会直接转发到HTTP。因此HTTPS和 HTTP间存在一一对应关系,需要对用户端的请求进行准确的负载均衡,要求首先在 HTTPS上验证,后续的HTTP请求发送到该HTTPS对应的HTTP服务上。
Citrix解决方案
在现有的服务器群的接入交换机上,接入一对 Citrix NetScaler 9010满足用户应用交付需求。
用户访问通过防火墙请求到Citrix NetScaler上,由Citrix NetScaler完成请求分发到相应的服务器上。
Citrix的特有的负载 均衡算法和会话保持机制,实现了用户的特殊的会话保持的需求。
特色技术描述
1、 加速性能。
Citrix 默认的 TCP复用和处理方式可以有效减少服务器的连接,提升服务器的处理能力。在不使用 TCP复用技术前,服务器需要面对大量的连接,在用户使用HTTPS进行了验证后,大量的请求是通过HTTP方式连接到服务器,与服务器建立大量的连接。使用TCP复用,连接的建立由Citrix NetScaler完成,服务器只需要与Citrix NetScaler间建立比较少的连接,因此可以有效减轻服务器TCP开销,提高服务器的处理能力。
通过减轻原有的Apache进行应用分发的 负担,提高服务器的响应和处理能力。
2、 提高安全性
Citrix NetScaler工作于TCP Offload方式,服务器无需直接与客户端建立连接,因此客户端的攻击首先由Citrix NetScaler进行处理。Citrix NetScaler优化过的连接处理方式,可以有效防御各种DoS攻击,包括针对应用层的HTTP DoS攻击等。
服务器在进行应用的重定向时,会反馈给客户端服务器的真实IP和端口,因此使用Citrix的 HTTP rewrite功能,将服务器的响应内容进行改写,保护内部网络结构。
3、 提高可用性
通过卸载原有的Apache的分发机制,由Citrix NetScaler进行负载均衡,有减轻服务器压力的同时,提高了系统的可用性。
Citrix NetScaler可以在HTTPS和HTTP间建立关联的健康检查关系,即同一对的HTTPS与HTTP中只要有一个服务失败,Citrix NetScaler就不会将后续的请求再分发到这一对服务中。
4、 实现会话保持
在WebSphere的应用中,因为每个进程只使用2G的空间,因此多个进程使用了不同的端口进行区分。HTTP应用分为8080,8081,8082,8083等,HTTPS应用为8443,8444,8445,8446等,在HTTP和HTTPS中存在一一对应的关系。如果用户是通过8443进行的身份验证,则在验证完成后,需要到8080进行访问,如果到其它HTTP服务中访问将被认为未经过验证而拒绝访问。
对于负载均衡器常用的基于跨服务(Cross Services)源IP的会话保持算法,无法在这种会话保持中适用。因为源地址会话保持对是IP地址的记录方式,无法甄别出使用相同IP的不同端口的服务,因此源地址会话保持会将用户的请求发送到同一个IP上,而不能到指定的HTTP或HTTPS服务上。
Citrix NetScaler通过丰富的负载均衡算法和会话保持技术,在HTTP和HTTPS间 进行负载均衡,保证了这一特殊的会话保持需求。
访问流程示意如下:
1、 用户A向https://192.168.100.100发起请求。
2、 Citrix NetScaler 9010根据负载均衡算法选择服务器和相应的服务转发请求。如图所示,选中第一 台服务 器的第4组应用服务。
3、 WebSphere响应用户的请求。
4、 Citrix NetScaler 9010将服务器的响应回送用户。
5、 如果用户验证通过,会向http://192.168.100.100发起 请求。
6、 Citrix NetScaler会根据会话保持的结果,将用户的请求发送到完成验证的HTTPS相对应的HTTP服务上。如图所示,是由第一台服务器的第4组应用服务。
7、 WebSphere响应用户HTTP的请求
8、 Citrix NetScaler将服务器的响应回送用户。
后续的相同用户的请求将全部由第一台服务器的第4组服务。
如果是新的用户,如用户B,会再次由负载均衡算法和会话保持机制来提供服务,下图示意为用户B的请求由第二台服务器的第3组应用提供服务。
主要效益
通过采用Citrix NetScaler 9010,用户实现了 加速,安全和高可用性的应用交付的需求。
Citrix的AppExpert使用户进行Rewrite的维护成本大大降低。
在使用了 Citrix NetScaler来提高可用性后,再也没有出现因为Apache故障导致系统挂起的现象。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删