# Realtime Gateway > 文档版本:v1.0 > 最后更新:2026-04-02 08:28:05 `realtime-gateway` 是一个独立于现有模拟器的 Go 实时设备数据网关工程。 当前目标: - 以实时中转为核心 - 纯内存运行 - 单二进制部署 - 支持 WebSocket 接入 - 支持 channel 模型 - 支持内置管理台、实时窗口、流量统计 - 为后续规则、通知、归档、回放预留插件总线 ## 文档入口 优先看这几份: - 运行手册:[实时网关运行手册.md](D:/dev/cmr-mini/doc/gateway/实时网关运行手册.md) - 架构方案:[实时设备网关架构.md](D:/dev/cmr-mini/doc/gateway/实时设备网关架构.md) - 协议说明:[网关协议规范.md](D:/dev/cmr-mini/doc/gateway/网关协议规范.md) - Tunnel 联调:[Cloudflare隧道开发说明.md](D:/dev/cmr-mini/doc/gateway/Cloudflare隧道开发说明.md) - 老模拟器桥接说明:[README.md](D:/dev/cmr-mini/tools/mock-gps-sim/README.md) ## 快速开始 ### 1. 启动网关 ```powershell cd D:\dev\cmr-mini\realtime-gateway go run .\cmd\gateway -config .\config\tunnel-dev.json ``` ### 2. 打开管理台 ```text http://127.0.0.1:18080/ ``` ### 3. 启动老模拟器 ```powershell cd D:\dev\cmr-mini npm run mock-gps-sim ``` ### 4. 打开模拟器页面 ```text http://127.0.0.1:17865/ ``` ### 5. 用老模拟器桥接新网关 在“新网关桥接”区域填写: - 网关地址:`ws://127.0.0.1:18080/ws` - `Producer Token / Channel Token` - `Channel ID` 可选 - `Device ID` ## 目录结构 ```text realtime-gateway/ ├── cmd/gateway ├── cmd/mock-consumer ├── cmd/mock-producer ├── config ├── deploy ├── internal/channel ├── internal/config ├── internal/gateway ├── internal/model ├── internal/plugin ├── internal/router └── internal/session ``` ## 构建 ```powershell cd D:\dev\cmr-mini\realtime-gateway go build -o .\bin\gateway.exe .\cmd\gateway go build -o .\bin\mock-producer.exe .\cmd\mock-producer go build -o .\bin\mock-consumer.exe .\cmd\mock-consumer ``` 或直接做一次完整编译检查: ```powershell cd D:\dev\cmr-mini\realtime-gateway go build ./... ``` ## 默认地址 推荐开发配置: - 网关 HTTP / Admin:`http://127.0.0.1:18080/` - 网关 WebSocket:`ws://127.0.0.1:18080/ws` - 模拟器页面:`http://127.0.0.1:17865/` - 模拟器 mock WS:`ws://127.0.0.1:17865/mock-gps` ## CLI 调试 ### producer ```powershell cd D:\dev\cmr-mini\realtime-gateway go run .\cmd\mock-producer -device-id child-001 -topic telemetry.location -count 5 go run .\cmd\mock-producer -device-id child-001 -topic telemetry.heart_rate -bpm 148 -count 5 ``` ### consumer ```powershell cd D:\dev\cmr-mini\realtime-gateway go run .\cmd\mock-consumer -config .\config\consumer-gps-heart.example.json ``` ### channel 模式 ```powershell cd D:\dev\cmr-mini\realtime-gateway go run .\cmd\mock-producer -channel-id ch-xxxx -token -topic telemetry.location -count 5 go run .\cmd\mock-consumer -channel-id ch-xxxx -token -topics telemetry.location,telemetry.heart_rate ``` ## 当前已落地能力 - WebSocket 接入 - `authenticate` - `join_channel` - `subscribe` - `publish` - `snapshot` - latest state 缓存 - channel 管理 - `cache_latest` - `drop_if_no_consumer` - 管理台 - 实时数据窗口 - GPS 轨迹预览 - 流量统计 更多运行和排障细节,直接看: - [实时网关运行手册.md](D:/dev/cmr-mini/doc/gateway/实时网关运行手册.md)