This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
对内容交换虚拟服务器的永久支持
应用程序正在从单片体系结构转向微服务体系结构。同一应用程序的不同版本可以在微服务架构中共存。Citrix ADC 设备必须支持连续部署应用程序。它是通过执行 Canary 部署的平台(例如 Spinnaker)实现的。在连续部署设置中,将自动部署较新版本的应用程序,并分阶段暴露给客户端流量,直到应用程序稳定以获取完整流量。此外,客户必须有不间断的服务。
Citrix ADC 内容交换功能使设备能够根据绑定到内容交换虚拟服务器的策略在多个负载平衡虚拟服务器之间分发客户端请求。
对于连续部署,内容交换用于选择服务于不同版本的应用程序的负载平衡虚拟服务器。
在内容切换中,由于内容切换策略的更改,为特定应用程序版本选择负载平衡虚拟服务器的运行时会发生变化。在此过渡期间,如果某些会话与旧版本的应用程序一起存在,则此类流量必须仅由旧版本继续提供。为了支持该要求,Citrix ADC 设备在内容交换虚拟服务器后面的多个负载平衡组之间保持持久性。内容交换虚拟服务器的持久性可实现客户端从一个版本到另一个版本的无缝转换。
内容交换虚拟服务器上支持的持久性类型
内容交换虚拟服务器支持以下持久性类型。
持久性类型 | 说明 |
---|---|
源 IP | 来源 IP。来自同一客户端 IP 地址的连接是同一持久性会话的一部分。有关更多详细信息,请参阅源 IP 地址持久性。 |
HTTP Cookie | COOKIEINSERT。具有相同 HTTP Cookie 标头的连接是同一持久性会话的一部分。Citrix ADC 设备插入的 cookie 格式为: **NSC_ <vid_str of CSvserver> = 其 <vid_str of Lbvserver> 中 NSC_XXXX 是从虚拟服务器名称派生的虚拟服务器 ID。有关更多详细信息,请参阅 HTTP cookie 持久性。 |
SSL Session ID(SSL 会话 ID) | SSL会议。具有相同 SSL 会话 ID 的连接是同一持久化会话的一部分。有关更多详细信息,请参阅 SSL 会话 ID 持久性。 |
您可以为基于 HTTP Cookie 的持久性配置超时值。如果将超时值设置为 0,则不论使用哪一个 HTTP Cookie 版本,ADC 设备均不指定到期时间。过期时间取决于客户端软件,只有当软件正在运行时,此类 Cookie 才有效。
根据您配置的持久性类型,虚拟服务器可以支持 250,000 个同时持久性连接,也可以支持任意数量的持久性连接,但最多不超过 Citrix ADC 设备上的内存量所施加的限制。下表显示了哪些类型的持久性属于每个类别。
持久性类型 | 支持的同时持久连接数 |
---|---|
源 IP、SSL 会话 ID | 250,000 |
HTTP Cookie | 内存限制。在 CookieInsert 中,如果超时不是 0,则连接数受内存限制。 |
某些类型的持久性特定于特定类型的虚拟服务器。下表列出了每种持久性类型,并指出在哪些类型的虚拟服务器上支持哪些持久性类型。
持久性类型 | HTTP | HTTPS | TCP | UDP/IP | SSL_Bridge | SSL_TCP | RTSP | SIP_UDP |
---|---|---|---|---|---|---|---|---|
来源地 | 是 | 是 | 是 | 是 | 是 | 是 | 否 | 否 |
COOKIEINSERT | 是 | 是 | 否 | 否 | 否 | 否 | 否 | 否 |
SSLSESSION | 否 | 是 | 否 | 否 | 是 | 是 | 否 | 否 |
备份持久性支持
您可以将内容交换虚拟服务器配置为在 Cookie 持久性类型失败时使用源 IP 持久性类型作为备份持久性类型。它对于微服务架构中的 Canary 部署非常有用。 当 cookie 持久性类型失败时,仅当客户端浏览器未返回请求中的任何 cookie 时,设备才会回退到基于源 IP 的持久性。但是,如果浏览器返回 cookie(不一定是持久性 cookie),则假定浏览器支持 cookie,因此不会触发备份持久性。 您还可以为备份持久性设置超时值。超时是持久化会话生效的时间段。
内容交换虚拟服务器上的持久性工作原理
场景 1:没有持久性的内容切换虚拟服务器
以下示例说明了部署多个版本的应用程序,其内容交换虚拟服务器没有持久性。
当客户端 C1 向应用程序发送请求时,请求将发送到 Citrix ADC 设备中的内容交换虚拟服务器。内容交换虚拟服务器评估策略并将请求转发到服务于应用程序版本 v1 的负载平衡虚拟服务器 (LB1)。
考虑已部署应用程序的新版本 v2,并且必须向用户子集公开。为 v2 版本提供服务的新负载平衡虚拟服务器 (LB2) 将通过适当的内容切换策略绑定到内容交换虚拟服务器。
当客户端 C1 发送新请求时,将再次评估策略,并将请求转发到负载平衡虚拟服务器 LB2。因此,如果部署了多个版本的应用程序,有状态应用程序的事务将失败。
场景 2:具有持久性的内容切换虚拟服务器
以下示例说明了使用具有持久性的内容切换虚拟服务器部署多个版本的应用程序。
当客户端 C1 向应用程序发送请求时,请求将发送到 Citrix ADC 设备中的内容交换虚拟服务器。内容交换虚拟服务器会评估策略、创建持久性会话条目,然后将请求转发到为应用程序版本 v1 提供服务的负载平衡虚拟服务器 LB1。
同一客户端 C1 再次为应用程序请求,并将请求发送到 Citrix ADC 设备中的内容交换虚拟服务器。对持久性会话的查找已完成,负载平衡虚拟服务器 LB1 从现有持久性会话中获取,并将请求转发到 LB1。使用此解决方案不会破坏现有事务;因此,保持应用程序的状态性质。
让我们考虑一个新的客户端 C2。新请求 C2 通过策略评估发送到较新版本的应用程序,因为此客户端没有现有的持久性会话。它可以在不打破其状态性的情况下成功推出新版本的应用程序。
由于持久性支持,客户可以无缝部署多个内容或不同版本的应用程序,而不会影响现有事务(特别是对于有状态的应用程序)。如果没有图片中的坚持,这是不可能的。
使用 CLI 在内容交换虚拟服务器上配置持久性类型
在命令提示符下,键入:
set cs vserver <name> -PersistenceType <type> [-timeout <integer>]
<!--NeedCopy-->
示例:
set cs vserver Vserver-CS-1 -persistenceType SOURCEIP -timeout 60
<!--NeedCopy-->
通过使用 GUI 在内容交换虚拟服务器上配置持久性类型
-
导航至“流量管理”>“内容切换”>“虚拟服务器”,然后单击“添加”。
-
在“基本设置”中,配置持久性详细信息。
共享
共享
This Preview product documentation is Citrix Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Citrix Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Citrix product purchase decisions.
If you do not agree, select Do Not Agree to exit.