分布式系统网关和物联网网关
这两个“网关”名字一样,但本质完全不是一类东西,只是都叫 Gateway。
一句话先区分:
分布式系统网关 = 业务入口(HTTP/API层)
物联网网关 = 设备数据汇聚与协议转换(设备接入层)
一、分布式系统网关(Java微服务里的 Gateway)
1️⃣ 它是什么?
👉系统“对外统一入口”
例如:
浏览器 / App ↓ API Gateway(Spring Cloud Gateway) ↓ User / Order / Product 微服务2️⃣ 主要处理什么?
它处理的是:
✔ HTTP / REST 请求
GET /user/list POST /order/create3️⃣ 核心能力
| 功能 | 说明 |
|---|---|
| 路由转发 | /user → user-service |
| 认证鉴权 | JWT / OAuth2 |
| 限流 | QPS控制 |
| 负载均衡 | 多实例分发 |
| 灰度发布 | 10%流量 |
| 日志 | 请求追踪 |
| 跨域 | CORS |
4️⃣ 技术实现
常见:
- Spring Cloud Gateway
- Nginx(也算入口层)
- Kong / APISIX
5️⃣ 关键特点
面向“用户请求” 协议:HTTP/HTTPS 数据:JSON二、物联网网关(IoT Gateway)
1️⃣ 它是什么?
👉设备接入 + 协议转换 + 数据汇聚中心
例如:
摄像头 / 门禁 / 传感器 ↓ IoT网关 ↓ MQTT / Kafka / HTTP ↓ IoT平台 / 后端系统2️⃣ 处理的不是“用户请求”,而是“设备数据”
例如:
温度:28℃ 车牌:鄂A12345 门禁:刷卡成功3️⃣ 核心能力
| 功能 | 说明 |
|---|---|
| 协议转换 | Modbus → MQTT |
| 设备接入 | RS485 / 串口 / TCP |
| 数据采集 | 实时采集设备数据 |
| 边缘计算 | 本地过滤/处理 |
| 离线缓存 | 网络断开缓存数据 |
| 数据上报 | MQTT / HTTP |
4️⃣ 支持协议(重点区别)
IoT网关支持:
Modbus BACnet CoAP MQTT TCP/UDP 串口(RS485/232) CAN总线5️⃣ 关键特点
面向“设备” 协议:工业协议 / MQTT / TCP 数据:二进制 / 流数据 / 设备帧三、核心区别(非常重要)
| 对比项 | 分布式网关 | 物联网网关 |
|---|---|---|
| 服务对象 | 用户/前端 | 设备/传感器 |
| 入口类型 | HTTP API | 设备协议 |
| 数据格式 | JSON | 二进制/协议帧 |
| 作用 | 业务路由 | 协议转换 |
| 技术栈 | Spring Cloud Gateway | MQTT / Netty / C/C++ |
| 典型场景 | 电商/系统/后台 | 智慧园区/工控/门禁 |
四、举个你熟悉的智慧园区例子(重点)
👉 物联网网关
摄像头(RTSP) 门禁(485) 停车场设备(TCP) ↓ IoT网关 ↓ MQTT Broker(EMQX) ↓ Java后端👉 分布式网关
App / Web ↓ Spring Cloud Gateway ↓ user-service / parking-service五、两个网关可以一起用(企业常见)
真实架构:
用户 ↓ API Gateway(业务网关) ↓ 微服务系统 ↓ IoT平台服务 ↓ IoT网关(设备接入) ↓ 设备(摄像头/门禁)六、理解关键(面试核心点)
❗ 分布式网关
管“人怎么访问系统”
❗ 物联网网关
管“设备怎么接入系统”
七、最本质区别(一句话记住)
分布式网关解决“请求怎么进系统”,物联网网关解决“设备怎么进系统”。
八、再给你一个更直观比喻
| 类型 | 类比 |
|---|---|
| 分布式网关 | 高速收费站(车流入口) |
| IoT网关 | 翻译官 + 设备接线箱 |
