这些内容已被机器动态翻译。
内燃机内燃机发动机Übersetzung, die dynamic erstellt wurde。(Haftungsausschluss)
文章一été传统自动化的manière动态。(非条款responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica。(通报法律)
此内容已经过机器动态翻译。放弃
このコンテンは動的に機械翻訳されています。免責事項
이콘텐츠는동적으로기계번역되었습니다。책임부
Este texto foi traduzido automaticamente。(通报法律)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica。(Esclusione di responsabilita))
这篇文章是机器翻译的。
Dieser Artikel wurde maschinell übersetzt。(Haftungsausschluss)
Ce文章été传统自动化。(非条款responsabilité)
Este artículo ha sido traducido automáticamente。(通报法律)
この記事は機械翻訳されています。免責事項
이기사는기계번역되었습니다。책임부
Este artigo foi traduzido automaticamente。(通报法律)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente。(Esclusione di responsabilita))
翻译失败!
MQTT负载平衡
消息队列遥测传输(MQTT)是物联网(IoT)的OASIS标准消息协议。MQTT是一种灵活且易于使用的技术,可在物联网系统内提供有效的通信。MQTT是一种基于经纪商的协议,广泛用于促进客户和经纪商之间的报文交换。
MQTT的以下主要优势使其成为物联网设备的理想选择:
- 可靠性
- 快速响应时间
- 能够支持无限设备
- 发布/订阅消息,非常适合多对多沟通
物联网是嵌入传感器、软件、网络连接和必要电子设备的互联设备的网络。嵌入式组件使物联网设备能够收集和交换数据。物联网设备使用率的增加给网络基础设施带来了多种挑战,其中规模是突出的挑战。在物联网设备的大规模部署中,需要快速分析每台IoT设备生成的数据。为了达到规模要求和资源的有效利用,必须均匀分配代理池中的负载。在MQTT协议的支持下,您可以在物联网部署中使用Citrix ADC设备来对MQTT流量进行负载均衡。
下图描述了使用Citrix ADC设备对MQTT流量进行负载均衡的MQTT体系结构。
使用MQTT协议的物联网部署包括以下组件:
- MQTT经纪人。接收来自客户端的所有消息然后将消息路由到相应的目标客户端的服务器。经纪人负责接收所有消息、过滤消息、确定谁订阅了每条消息,并将消息发送给这些已订阅的客户端。经纪商是每条消息必须通过的中心枢纽。
- MQTT客户端。任何设备,从微控制器到成熟的服务器,它运行MQTT库并通过网络连接到MQTT代理。出版商和订阅者都是MQTT客户端。发布者和订阅者标签是指客户端是在发布消息还是订阅接收消息。
- MQTT负载均衡器。Citrix ADC设备配置了MQTT负载平衡虚拟服务器,以对MQTT流量进行负载平衡。
在典型的物联网部署中,代理(服务器群集)管理物联网设备组(物联网客户端)。Citrix ADC设备根据客户端 ID、主题和用户名等各种参数对 MQTT 流量进行负载平衡。
为MQTT流量配置负载均衡
要使Citrix ADC设备对MQTT流量进行负载均衡,请执行以下配置任务:
- 配置mqtt / mqtt_tls服务或服务组。
- 配置mqtt / mqtt_tls负载平衡虚拟服务器。
- 将mqtt / mqtt_tls服务绑定到mqtt / mqtt_tls负载平衡虚拟服务器。
- 配置mqtt / mqtt_tls内容交换虚拟服务器。
- 配置指定目标负载平衡虚拟服务器的内容切换操作
- 配置内容切换策略。
- 将内容切换策略绑定到已配置为重定向到特定负载平衡虚拟服务器的内容交换虚拟服务器。
- 保存配置。
使用cli为MQTT流量配置负载平衡
配置mqtt / mqtt_tls服务或服务组。
add service add servicegroup bind servicegroup
示例:
add service srvc1 10.106.163.3 MQTT 1883 add servicegroup srvcg1 MQTT bind servicegroup srvcg1 10.106.163.3 1883
配置mqtt / mqtt_tls负载平衡虚拟服务器。
add lb vserver
示例:
add lb vserver lb1 MQTT 10.106.163.9 1883
将mqtt / mqtt_tls服务或服务组绑定到mqtt负载平衡虚拟服务器。
bind lb vserver bind lb vserver
示例:
Bind lb vserver lb1 srvc1
配置mqtt / mqtt_tls内容交换虚拟服务器。
add cs vserver
示例:
add cs vserver cs1 MQTT 10.106.163.13 1883
配置指定目标负载平衡虚拟服务器的内容切换操作。
add cs action -targetLBVserver [-comment ]
示例:
添加cs action act1 -targetlbvserver lbv1
配置内容切换策略。
add cs policy [-url | -rule ] -action
示例:
添加cs策略cspol1 -rule " MQTT.COMMAND.EQ(CONNECT) && MQTT.CONNECT.FLAGS.QOS.eq(2) " -action act1
将内容切换策略绑定到已配置为重定向到特定负载平衡虚拟服务器的内容交换虚拟服务器。
bind cs vserver -policyName -priority
示例:
bind cs vserver cs1 -policyName cspol1 -priority 20
保存配置。
保存ns config
使用GUI为MQTT流量配置负载平衡
- 导航到流量管理>负载平衡>虚拟服务器,然后创建MQTT或MQTT_TLS类型的负载平衡虚拟服务器。
- 创建MQTT类型的服务或服务组。
- 将服务绑定到MQTT虚拟服务器。
- 单击保存。
MQTT消息长度限制
Citrix ADC设备将消息长度大于65536字节的消息视为巨型数据包,并默认情况下将其丢弃。dropmqttjumbomessage
Lb参数决定是否处理巨型数据包。默认情况下,此参数设置为是的,这意味着默认情况下会丢弃巨型MQTT数据包。如果此参数设置为没有,则ADC设备甚至会处理消息长度大于65536字节的数据包。
要使用cli将adc设备配置为处理巨型数据包,请执行以下操作:
设置lb参数-dropMqttJumboMessage [YES | NO]
示例:
设置lb参数-dropMqttJumboMessage no
共享
共享
在本文中
本预览版产品文档为Citrix机密文档。
您同意根据Citrix Beta/技术预览协议的条款对该文档进行保密。
预览版文档中描述的任何特性或功能的开发、发布和时间仍由我们自行决定,如有更改,恕不另行通知或咨询。
本文档仅供参考,不是交付任何材料、代码或功能的承诺、承诺或法律义务,在做出思杰产品购买决定时不应依赖该文档。
如果不同意,选择“不同意”退出。