We're sorry but nginx-community doesn't work properly without JavaScript enabled. Please enable it to continue.
开源社区
首页
文章
问答
文档
软件下载
发现更多
三方插件
技术支持
电子书
公开课
社区贡献榜
关于我们
登录
注册
NGINX
负载均衡
JavaScript
NGINX Unit
Kubernetes
微服务
容器
NGINX系列
WAF
Node.js
Go(编程语言)
服务网格(Service Mesh)
HTTP/3_专栏
版本发布
# IoT
物联网 (the Internet of Things, IoT) 是指由物理设备(配有传感器和软件的车辆、可穿戴设备及电器等“物 [things]”)以及技术平台与协议(可支持这些“物 [things]”收集、存储并分析数据以实现任务和流程自动化)组成的众多网络。物联网系统主要通过物联网设备或应用与云端之间实时数据收集和通信,或者物联网设备与应用本身之间互联互通来运作。
关注标签
1人关注
文章
问答
排序
热门
最新
yuefeng
发布于2020-12-19 15:17
IoT 场景-01: 通过NGNIX 实现MQTT Broker 高可用
众所周知,Nginx最常见的传统场景是Web服务器,HTTP反向代理以及负载均衡,此外,它在物联网的技术领域,也可以发挥同样可观的作用。本节我们会重点讨论使用Nginx实现物联网消息组件MQTTBroker的高可用。MQTT流量负载均衡带有健康检查的高可用实践基于MQTTClientID的会话保持0x01MQTT原理首先我们来熟悉一下MQTT协议。MQTT(MessageQueuingTelemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。MQTT协议原理1MQTT协议实现方式实现MQTT协议需要客户端和服务器端通讯完成,在通讯过程中,MQTT协议中有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(S
点赞
1
浏览
2.9k
yuefeng
发布于2020-12-19 16:22
IoT 场景-04:使用NGINX Plus对MQTT的客户端连接进行访问控制
由于NGINXPlus在MQTT客户端与Broker的交互过程中处于一个核心代理的位置,我们可以很容易的在其原生的代理功能基础之上加入安全访问控制功能。0x01为什么需要访问控制对于一些MQTT的客户端,不管是消息的发布者还是订阅者,都有可能会使用贪婪模式,频繁的与MQTTBroker进行通信,并发布或获取大量数据。此时,MQTTBroker的通信信道会被这种客户端应用占用,导致服务降级。遇到这种类型的客户端,由于MQTTBroker原生并没有很好地限制机制,从而需要借助在NginxPlus的代理上面,进行配置,识别并限制过度的数据访问。0x02如何进行访问控制使用NginxPlus进行访问控制很简单,和HTTP协议的访问控制类似。0x03访问日志处理使用NginxPlus还可以自定义日志格式,通过与告警平台和自动化平台对接,可以有效识别异常客户端的通信,可以进行自动化的IP封禁以及限连和限流操作。至此,我们4节NGINXPlus在IoT场景中的应用已经告一段段落,希望大家喜欢本次的分享。参考:https://dzone.com/articles/mq
点赞
1
浏览
1.7k
yuefeng
发布于2020-12-19 15:51
IoT 场景-02:通过Nginx JavaScript 实现会话保持
上一节我们介绍过了通过Nginx实现MQTT会话的负载均衡,那么如何解决每个MQTTBroker在消息分发的时候,只能收到一半信息的情况呢?此时,我们就需要借助NginxPlus的高级功能:NginxJavaScript,来定制基于ClientID的会话保持机制,将客户端与某个MQTTBroker进行会话保持,保障其信息的完整性,除非该MQTTBroker出现故障。"Round Robinloadbalancingisaneffectivemechanismfordistributingclientconnectionsacrossagroupofservers.However,thereareseveralreasonswhyitisnotidealforMQTTconnections."0x01NginxJavaScript会话保持代码mqtt.js提取MQTTClientId varclient_messages=1;2varclient_id_str="-";34
点赞
2
浏览
1.7k
yuefeng
发布于2020-12-19 16:08
IoT 场景-03:使用NGINX Plus 进行主动MQTT健康检查
为了使我们的NginxPlus具有对MQTTBroker的正常工作状况具有主动健康检查的能力,首先我们要了解MQTT的协议的连接。0x01MQTT协议第一节我们介绍过,MQTT是一种基于TCP建立的的一套协议,MQTT报文中也有类似于TCP三次握手的状态码。简单来讲,我们只需要构建一个合法的CONNECT连接,等待MQTT返回一个CONNACK的回应报文,就能确认MQTTBroker正在处于一个正常工作的状态。0x02NginxPlus构建CONNECT1matchmqtt_conn{12#SendCONNECTpacketwithclientID"nginxhealthcheck"13send\x10\x20\x00\x06\x4d\x51\x49\x73\x64\x70\x03\x02\x00\x3c\x00\x12\x6e\x67\x69\x6e\x78\x20\x68\x65\x61\x6c\x74\x68\x20\x63\x68\x65\x63\x6b;14expect\x2
点赞
1
浏览
1.4k
NGINX官方账号
发布于2024-03-12 13:01
立即注册 | 线上讲座:借助 NGINX Plus 优化物联网数据传输和应用安全
3 月 19 日(周二)下午 3 – 4 点参与本次线上讲座,F5 NGINX 架构师熊平将介绍物联网和 MQTT 的基本概念,并通过技巧梳理和动手演示展示 NGINX Plus 如何能够帮助企业实现更高效的数据传输和信息处理,并提升物联网应用的性能和可靠性。访问 NGINX 中文官方开源社区(nginx.org.cn)了解详情。
点赞
0
浏览
174
NGINX官方账号
发布于2024-03-19 16:30
概念回顾:物联网 (IoT)
探索物联网(IoT)的世界及其对不同行业的影响。了解物联网的设备、平台、优势和挑战,以及 NGINX 如何优化和保护您的物联网流量。访问 NGINX 中文官方开源社区(nginx.org.cn)了解详情。
点赞
0
浏览
155
发表文章
提问
社区达人
成为达人
相关文章
概念回顾:物联网 (IoT)
探索物联网(IoT)的世界及其对不同行业的影响。了解物联网的设备、平台、优势和挑战,以及 NGINX 如何优化和保护您的物联网流量。访问 NGINX 中文官方开源社区(nginx.org.cn)了解详情。
NGINX官方账号
发布于2024-03-19 16:30
保持联系
微信公众号
加入微信群
获取商业支持
了解商业产品和专业支持服务
加入邮件列表
向开发组提交代码或反馈意见