协议扩展 - 体系结构
为了实现流量级别的可扩展性,NetScaler 设备上的流量处理以独立处理模块的管道的形式公开。当流量从入口处理到出口时,流量会流经它们。管道中的这些模块遵循无共享模型。消息传递用于将流量数据从管道中的一个模块发送到下一个模块。
流量处理管道中的某些点是可扩展的,因此您可以添加代码来自定义 NetScaler 行为。
默认情况下,流量会绕过您不向其中添加任何代码的可编程模块。
行为
用于自定义流量处理的可编程接口称为行为。行为基本上是 NetScaler 设备上可用的常见可编程模式的形式化。这些行为由一组预定义的事件回调函数组成。您可以通过提供符合该行为的回调函数来实现该行为。
例如,TCP 客户端行为由处理 TCP 客户端数据流事件的回调函数 (on_data) 组成。要为基于 TCP 的协议实现基于消息的负载平衡 (MBLB),您可以为此回调函数添加代码,以处理来自客户端的 TCP 数据流并将字节流解析为协议消息。
上下文:
行为中的回调函数是通过上下文调用的,上下文是处理模块状态。上下文是处理模块的实例。例如,对于不同的客户端 TCP 连接,使用不同的上下文调用 TCP 客户端行为回调。
有效载荷:
除了上下文之外,行为回调还可以有其他参数。通常,其余的参数作为有效载荷传递,这是所有参数的集合。
因此,可编程处理模块实例可以看作是实例状态加上事件回调函数的组合,即上下文加行为。流量作为事件有效载荷通过管道。
有关 NetScaler API 扩展,请参阅 NetScaler 扩展 API 参考资料。
以下代码段显示了用户定义的函数来处理 TCP 客户端数据流事件。上下文和负载由 NetScaler 代码传递给函数。此代码只是将每次调用中收到的 TCP 数据转发到管道中的下一个处理模块上下文。在这种情况下,下一个模块是负载平衡 (LB) 上下文,它是一个 NetScaler 原生模块。
function client.on_data(ctxt, payload)
ns.send(ctxt.output, "DATA", {data = payload.data})
end
<!--NeedCopy-->
本内容的正式版本为英文版。部分 Cloud Software Group 文档内容采用了机器翻译,仅供您参考。Cloud Software Group 无法控制机器翻译的内容,这些内容可能包含错误、不准确或不合适的语言。对于从英文原文翻译成任何其他语言的内容的准确性、可靠性、适用性或正确性,或者您的 Cloud Software Group 产品或服务沿用了任何机器翻译的内容,我们均不作任何明示或暗示的保证,并且适用的最终用户许可协议或服务条款或者与 Cloud Software Group 签订的任何其他协议(产品或服务与已进行机器翻译的任何文档保持一致)下的任何保证均不适用。对于因使用机器翻译的内容而引起的任何损害或问题,Cloud Software Group 不承担任何责任。
DIESER DIENST KANN ÜBERSETZUNGEN ENTHALTEN, DIE VON GOOGLE BEREITGESTELLT WERDEN. GOOGLE 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.
CE SERVICE PEUT CONTENIR DES TRADUCTIONS FOURNIES PAR GOOGLE. GOOGLE EXCLUT TOUTE GARANTIE RELATIVE AUX TRADUCTIONS, EXPRESSE OU IMPLICITE, Y COMPRIS TOUTE GARANTIE D'EXACTITUDE, DE FIABILITÉ ET TOUTE GARANTIE IMPLICITE DE QUALITÉ MARCHANDE, D'ADÉQUATION À UN USAGE PARTICULIER ET D'ABSENCE DE CONTREFAÇON.
ESTE SERVICIO PUEDE CONTENER TRADUCCIONES CON TECNOLOGÍA DE GOOGLE. GOOGLE RENUNCIA A TODAS LAS GARANTÍAS RELACIONADAS CON LAS TRADUCCIONES, TANTO IMPLÍCITAS COMO EXPLÍCITAS, INCLUIDAS LAS GARANTÍAS DE EXACTITUD, FIABILIDAD Y OTRAS GARANTÍAS IMPLÍCITAS DE COMERCIABILIDAD, IDONEIDAD PARA UN FIN EN PARTICULAR Y AUSENCIA DE INFRACCIÓN DE DERECHOS.
本服务可能包含由 Google 提供技术支持的翻译。Google 对这些翻译内容不做任何明示或暗示的保证,包括对准确性、可靠性的任何保证以及对适销性、特定用途的适用性和非侵权性的任何暗示保证。
このサービスには、Google が提供する翻訳が含まれている可能性があります。Google は翻訳について、明示的か黙示的かを問わず、精度と信頼性に関するあらゆる保証、および商品性、特定目的への適合性、第三者の権利を侵害しないことに関するあらゆる黙示的保証を含め、一切保証しません。
ESTE SERVIÇO PODE CONTER TRADUÇÕES FORNECIDAS PELO GOOGLE. O GOOGLE 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.