-
-
-
-
-
-
-
-
-
-
MQTT负载平衡
-
-
-
-
这些内容已被机器动态翻译。
内燃机内燃机发动机Ü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的以下主要优点使其非常适合于您的物联网设备:
- 可靠性
- 快速响应时间
- 支持无限设备的能力
- 发布/订阅消息传递非常适合多对多通信
物联网是嵌入传感器、软件、网络连接和必要电子产品的互连设备网络。嵌入式组件使物联网设备能够收集和交换数据。物联网设备使用的增加给网络基础设施带来了多重挑战,其中规模是一个突出的挑战。在物联网设备的大规模部署中,需要对每台物联网设备产生的数据进行快速分析。为了实现规模需求和资源的有效使用,代理池上的负载必须均匀分布。有了MQTT协议的支持,您可以在IoT部署中使用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/技术预览协议的条款对该文档进行保密。
预览版文档中描述的任何特性或功能的开发、发布和时间仍由我们自行决定,如有更改,恕不另行通知或咨询。
本文档仅供参考,不是交付任何材料、代码或功能的承诺、承诺或法律义务,在做出思杰产品购买决定时不应依赖该文档。
如果不同意,选择“不同意”退出。