协议扩展 - 体系结构
为了实现流量级别的可扩展性,Citrix ADC设备上的流量处理将显示为单独处理模块的管道。流量在处理从入口到导出时流经这些流量。管道中的这些模块遵循一个无共享模型。消息传递用于将流量数据从管道中的一个模块发送到下一个模块。
流量处理管道中的某些点是可扩展的,因此您可以添加代码以自定义Citrix ADC行为。
默认情况下,流量会绕过不向其添加任何代码的可编程模块。
行为
用于自定义流量处理的可编程接口称为行为。行为基本上是 Citrix ADC 设备上可用的常见可编程模式的正式化。行为由一组预定义的事件回调函数组成。您可以通过提供符合行为的回调函数来实现行为。
例如,TCP客户端行为由处理TCP客户端数据流事件的回调函数(on_data)组成。要为基于TCP的协议实施基于消息的负载平衡(MBLB),您可以为此回调函数添加代码,以处理来自客户端TCP的数据流并将字节流解析为协议消息。
上下文:
行为中的回调函数使用上下文调用,即处理模块状态。上下文是处理模块的实例。例如,对于不同的客户端TCP连接,使用不同的上下文调用TCP客户端行为回调。
有效载荷:
除了上下文之外,行为回调还可以有其他参数。通常,其余的参数作为有效载荷传递,这是所有参数的集合。
因此,可编程处理模块实例可以看作是实例状态加事件回调函数的组合,即上下文加行为。流量作为事件有效载荷通过管道。
有关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 无法控制机器翻译的内容,这些内容可能包含错误、不准确或不合适的语言。对于从英文原文翻译成任何其他语言的内容的准确性、可靠性、适用性或正确性,或者您的 Citrix 产品或服务沿用了任何机器翻译的内容,我们均不作任何明示或暗示的保证,并且适用的最终用户许可协议或服务条款或者与 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。