协议扩展。体系结构
为了实现流量级可扩展性,Citrix ADC设备上的流量处理被公开为由独立处理模块组成的管道。流量在从入口到出口的过程中流经它们。管道中的这些模块遵循一个共享的无模型。消息传递用于将流量数据从管道中的一个模块发送到下一个模块。
流量处理管道中的某些点是可扩展的,因此您可以添加代码来定制Citrix ADC行为。
默认情况下,流量会绕过一个不需要添加任何代码的可编程模块。
行为
用于定制流量处理的可编程接口称为行为。行为基本上是Citrix ADC设备上可用的公共可编程模式的形式化。行为由一组预定义的事件回调函数组成。您可以通过提供符合行为的回调函数来实现行为。
例如,TCP客户端行为由处理TCP客户端数据流事件的回调函数(on_data)组成。为了实现基于TCP协议的MBLB (Message Based Load Balancing)功能,可以为该回调函数添加代码,处理来自客户端的TCP数据流,并将字节流解析为协议消息。
背景:
行为中的回调函数是通过上下文调用的,即处理模块状态。上下文是处理模块的实例。例如,对于不同的客户端TCP连接,使用不同的上下文调用TCP客户端行为回调。
有效载荷:
除了上下文之外,行为回调可以有其他参数。通常其余的参数作为payload传递,payload是所有参数的集合。
因此,可编程处理模块实例可以看作是实例状态加上事件回调函数的组合,即上下文加上行为。而流量作为事件负载通过管道。
有关Citrix ADC API扩展,请参见Citrix ADC扩展API参考.
下面的代码片段显示了一个用户定义的函数,用于处理TCP客户端数据流事件。上下文和有效负载通过Citrix ADC代码传递给函数。这段代码只是将每个调用中接收到的TCP数据转发到管道中的下一个处理模块上下文。在本例中,下一个模块是负载平衡(LB)上下文,这是一个Citrix ADC本机模块。
客户端功能。On_data (ctxt, payload) ns.send(ctxt, payload)output, "DATA", {DATA = payload.data}) end
本内容的官方版本为英文。一些Citrix文档内容是机器翻译的,仅供您使用。Citrix无法控制机器翻译的内容,这些内容可能包含错误、不准确或不合适的语言。对于从英语原文翻译成任何其他语言的任何译文的准确性、可靠性、适用性或正确性,或者您的思杰产品或服务符合任何机器翻译内容,以及根据适用的最终用户许可协议或服务条款或与思杰的任何其他协议提供的任何保证,不作任何形式的明示或暗示保证。产品或服务符合任何文件的规定不适用于机器翻译的文件。思杰将不对因使用机器翻译内容而产生的任何损害或问题负责。
diesel dienst kann Übersetzungen enthalten, die von谷歌bereitgestellt werden。谷歌lehnt jede ausdrÜckliche oder stillschweigende gewÄhrleistung in bezug auf die Übersetzungen ab, einschliesslich jeglicher gewÄhrleistung der genauigkeit, zuverlÄssigkeit und jeglicher stillschweigenden gewÄhrleistung der marktgÄngigkeit, der eignung fÜr einen bestimmten zweck und der nichtverletzung von rechten dritter。
贸易服务适用于同等条件下的贸易。谷歌排除担保相对惯例,表达你隐含的,y包含担保正确,fiabilitÉ等担保隐含qualitÉ马尔钱德,'adÉquation À未特殊用法和缺席contrefaÇon。
Este servicio puede contener traducciones con tecnologÍa de谷歌。谷歌renuncia a todas las garantÍas relacionadas con las traducciones, tanto implÍcitas como explÍcitas, incluidas las garantÍas de准确,fiabilidad y otras garantÍas implÍcitas de comerciabilidad, idoneidad para UN fin en particular y ausencia de infracciÓn de derechos。
本服务可能包含由谷歌提供技术支持的翻译。谷歌对这些翻译内容不做任何明示或暗示的保证,包括对准确性、可靠性的任何保证以及对适销性,特定用途的适用性和非侵权性的任何暗示保证。
このサ,ビスには,谷歌が提供する翻訳が含まれている可能性があります。谷歌は翻訳について,明示的か黙示的かを問わず,精度と信頼性に関するあらゆる保証,および商品性,特定目的への適合性,第三者の権利を侵害しないことに関するあらゆる黙示的保証を含め,一切保証しません。
Este serviÇo pode conter traduÇÕes fornecidas pelo谷歌。O谷歌se exime de todas as garantias relacionadas com as traduÇÕes, expressas ou implÍcitas, incluindo qualquer garantia de precisÃo, confiabilidade e qualquer garantia implÍcita de comercializaÇÃo, adequaÇÃo a um propÓsito especÍfico e nÃo infraÇÃo。