网络知识 娱乐 思杰 Citrix ADC

思杰 Citrix ADC

一 产品简介

Citrix ADC应用交付解决方案将传统数据中心产品的各项特性与功能整合至一个单独的网络设施中,其中包括负载均衡、缓存、SSL加速、攻击防御和SSL VPN等。这一系列的精心设计旨在最大限度地提升应用性能。下文将分别阐述部分思杰Citrix ADC产品的技术优势。

二:先进的“请求交换”核心技术

Citrix ADC拥有专利的请求交换技术是得到业界广泛认同的,传统负载均衡技术向新一代流量管理技术演进的方向。Citrix ADC打破了存在于连接和请求之间的关系,并在请求层检测所有的流量,请求交换提供了高性能的,安全的,可扩展的应用层服务。

请求交换技术的核心是一个新的运行范例,正是在这之上,Citrix ADC系统分开管理每一客户端连接以及服务器端连接。因为Citrix ADC 系统是每个客户端以及服务器端连接的终点,而不是简单的传输连接,所以它能提供以前其他流量管理系统所无法达到的许多加速和优化技术。因为请求交换引擎被专门设计来在请求层检测流量,所以负载均衡以及内容交换可以非常高效的完成。策略以及过滤可以在进入的请求上被应用并且丝毫不影响性能。成熟的负载均衡算法以及健康检查机制保证了服务的均衡性以及持续可靠性。先进的加速和优化技术在降低服务器负载的同时更快的把内容传送给了最终用户。

三 新一代的负载均衡技术

与传统负载均衡设备不同,Citrix ADC基于应用请求而不是网络连接进行负载均衡,最终达到的是服务器负载的均衡而不是服务器连接数量的平衡。真正实现用户对负载均衡效果的预期。


四 提高应用性能2-15倍

利用Citrix独有的请求交换技术,Citrix ADC在提供负载均衡的同时,对应用进行优化与加速。

连接复用和TCP卸载:Citrix ADC代替服务器终结客户端TCP连接,而且多个客户端请求被复用在少量服务器端连接内发送给应用系统。使用Citrix ADC进行负载均衡的服务器上的连接数比通过传统负载均衡设备均衡的服务器上的连接数降低几十至几百倍,服务器CPU和内存消耗大幅度降低,应用响应速度提高1-5倍。

AppCompress压缩技术:利用Citrix ADC内置的压缩功能,可以将广域网传输数据量减少3-50倍,提高应用的响应速度。

此外,Citrix ADC还提供AppCache高速内存缓存技术,TCP网络优化技术等多项优化功能,通过综合应用上述功能,如果用户使用Citrix ADC作为负载均衡设备,他们就可以在获得负载均衡功能的同时,获得2-15倍的应用速度提升。

五 为应用提供最佳的安全性

Citrix ADC利用先进的请求交换技术,可以有效地抵御L4的DoS/DDoS攻击和各种已知与未来的L7攻击。Citrix ADC基于请求交换技术的抗攻击能力是采用Syn Cookie/Delay binding防御方式的传统负载均衡交换器的10倍以上。

六 业界最全面的解决方案

Citrix ADC系统把传统数据中心的各种纷繁产品的功能,例如:负载均衡,缓存,压缩,SSL加速,攻击保护,SSL 等,融合进了单一的产品中,并利用其专利的“请求交换”技术,从底层整合各种功能,以极高的效率提升应用的性能、可靠性和安全性。

七 多核并行处理技术(nCore)提高产品性能

Citrix® ADC® nCore™技术作为一种高性能的并行处理架构, 可利用多核技术实现有效扩展,以满足要求最为严苛的 Web应用的需求。要构建能有效利用多核处理器的系统必须考虑以下两个问题: (1)系统如何能够确保所有 CPU核一直处于工作状态?(2)系统如何消除处理器间的同步损耗?

两者是相辅相成的,消除处理器间的同步损耗让每个处理器可尽可能地实现最佳性能。要了解 Citrix ADC 如何成功避免同步操作,首先必须掌握 Citrix ADC 数据包处理引擎的本质特性。

7.1 Citrix ADC数据包处理引擎

Citrix ADC数据包处理引擎的目的是将数据包从网络中分离出来,执行大量 TCP/IP 处理进程,加速和优化任务,以及执行安全策略。当数据包处理引擎处理完成一组数据包时,便会将回应返回到网络,然后继续处理新的数据包。

Citrix ADC 数据包处理引擎的高效率使其可在几微秒内完成数据包的处理。Citrix ADC 超低延迟数据包处理引擎优化了 Web应用交付和用户体验。利用精心设计的分段数据包处理,数据包处理引擎即可消除数据同步需求。这样一来,单个 CPU 核上运行的单个数据包处理引擎可支持几千兆的吞吐量。

与基于 Linux 的传统产品相比, Citrix ADC 数据包处理引擎的高效率所带来的影响是非常值得赞赏的。传统的 Linux TCP 堆栈会让数据包在不同层之间传输时进行排队处理,而每一层在接收数据前都会产生大量的数据同步损耗。正因为如此,一些基于 Linux 并结合 ASIC 芯片处理数据交换的产品设计会将这种延迟放大。

值得注意的是,随着 Citrix ADC 平台的发展,不需要数据同步已变成一个差异化的特征,使得 Citrix ADC 能够以极高的效率将数据包处理引擎延伸到多个处理器核心。

7.2 零共享设计

提升性能所面临的共同挑战就是共享。多个组件需要共享数据时,性能就成了问题。零共享有以下几大好处:

1、无同步化开销

2、大幅降低复杂性,从而提高稳定性

3、可更妥善地处理故障,因为组件之间不会互相影响

nCore 架构利用 Citrix ADC 数据包处理引擎的关键属性实现了零共享设计。

7.3 零共享的运作原理

nCore 零共享架构采用了一系列数据包处理引擎,每个引擎都具备完整的 Citrix ADC 功能,可通过专用存储空间实现应用优化和加速。由于每个数据包处理引擎都可执行所有的功能,因而可完整进行 Web 应用交易,无需借助其它数据包处理引擎的力量。

引擎之间的相互独立让同步不再成为一个问题。同时,资源争夺让数据包处理引擎再也不用相互等候。如此一来,Citrix ADC 可在极短的延迟时间内实现极高的吞吐量。

数据包处理引擎在每个 CPU上运行时有两种不同的状态:1)搜寻需要处理的数据包;2)正在处理数据包。每个数据包处理引擎搜寻的是基于硬件的数据包队列中的数据包。为了支持零共享理念,每个数据包处理引擎都有自己的队列,不和其它 CPU 核共享。因为硬件部署是完全对称的,因此,出站数据包也将通过每个处理器的专用队列发送出去。

由于每个数据包处理引擎可利用整个 CPU核,因此每个 CPU核与数据包处理引擎之间进行 1对 1映射,确保硬件提供的每个可用周期都可得到充分利用。随着系统新增 CPU 核,可大幅提高线性性能,提高平台在将来的可扩展性。

7.4 数据包队列中的流量分配方法

在多核 CPU 系统设计中,CPU 核之间分配网络流量有多种方法,常用的三种方法如下:

1、功能并行性

2、将网络接口映射到处理器

3、单独流量分配

在应用交付领域,功能并行性的典型实现方法是通过分离多核 CPU 之间的任务来实现的。结果,指定 CPU 核只承担相应功能。例如,核 1专门用于管理网络流量, 核2用于处理TCP/IP, 核3用于7层 (如HTTP)处理等等。这在表面上似乎也很合理,因为它将一种功能的峰值从另一种中分离了出来。然而,在现实情况下,这种架构通常会大幅降低 CPU多核的利用率。例如,如果一个应用要求进行更多的 7层处理,而不是SSL处理,它也不会将未使用的 CPU资源从 SSL转移到 7层处理上。

将网络接口映射到处理器是传统的网络领域方法,这种方法是将物理口连接到指定 CPU核上。 更新一些方法则是将 IP地址映射到指定 CPU核。然而,与功能并行性类似,这也依然无法实现均衡多核 CPU 之间的负载,单个应用就有可能用尽单一 CUP 核的容量,而不能利用其它空闲 CPU的容量。

经过对功能平行性以及将网络接口映射到处理器这两种方法的评估后Citrix ADC nCore 技术决定选择单独流量分配的方法。其实,这种方就是最细粒度的负载共享机制,充分利用了单个数据包处理引擎可执产品的每项功能这一能力,最终实现均衡多核 CPU 之间的负载,确保单个应用或功能不会受制于单个 CPU 核的容量,仍可以使用其它空闲CPU的能力。

为了以最高速度实现单独流量分配,必须使用对称的流量分配器。这种特殊的硬件可捕获发送到每个网络接口的数据包,并快速确定由哪个数据包处理引擎入站队列来接收指定的网络流量。由于决策的根据是TCP/IP 报头信息,因此,分配器必须确保指定流量的数据包会发送到相同的数据包处理引擎。

流量分配器使用的算法均衡了所有数据包处理引擎之间的流量分配,从而确保所有数据包处理引擎能支持系统的全部工作负载。在 nCore 架构中,宝贵的处理器资源决不会用于数据同步损耗,也会均衡地分配网络流量。

————————————————

版权声明:本文为CSDN博主「meimeida_001」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/meimeida_001/article/details/126084884