协议扩展-用户定义的TCP客户端和服务器行为的流量管道

下图演示了示例协议扩展—用户定义的TCP客户端和服务器行为的流量管道

局部的图片

通过使用协议扩展添加自定义协议

用于自定义协议的命令行接口(CLI)命令使用关键字“user”来表示用户定义的底层配置实体的性质。通过扩展码可以为系统添加新的用户协议,也可以为自定义协议添加用户虚拟服务器。用户虚拟服务器可以通过设置参数进行配置。虚拟服务器参数的配置值可以在分机码中找到。

下面的示例演示了添加对新协议的支持的用户流程。该示例将MQTT协议支持添加到系统中。MQTT是一种机器对机器的“物联网”连接协议。它是一个轻量级的发布/订阅消息传递传输。此协议使用客户端和代理工具向订阅者发布消息,对于与远程位置的连接非常有用。

  1. 将MQTT协议扩展实现文件导入Citrix ADC系统。mqtt的代码清单。Lua如下。下面的示例导入驻留在web服务器上的MQTT扩展文件。

    导入扩展http://10.217.24.48/extensions/mqtt.lua mqtt_code

  2. 使用扩展为系统添加一个基于TCP的新用户协议。

    添加用户协议MQTT -transport TCP -extension mqtt_code

  3. 添加用户负载均衡vserver,并绑定后端服务。

    add service mqtt_svr1 10.217.24.48 USER_TCP 1501 add service mqtt_svr2 10.217.24.48 USER_TCP 1502 add lb vserver mqtt_lb USER_TCP -lbmethod USER_TOKEN bind lb vserver mqtt_lb mqtt_lb mqtt_svr1 bind lb vserver mqtt_lb mqtt_lb mqtt_svr2 
  4. 为新添加的协议添加一个用户vserver。将defaultlb设置为上面配置的LB vserver。

    添加用户vserver mqtt_vs MQTT 10.217.24.28 8765 -defaultLb mqtt_lb

  5. 可选地,启用基于ClientID的MQTT会话持久性,将持久性类型设置为USERSESSION。

    设置lb vserver mqtt_lb -persistenceType USERSESSION

协议扩展-用户定义的TCP客户端和服务器行为的流量管道