首页 / Go 平台(cloud-go) / go-master 服务矩阵与网关

职责概览

go-master 是车载安防平台业务服务层,采用 go-zero 微服务框架,围绕设备接入、定位、行程、风控、告警、视频、OTA 与 AI 组织服务。

服务目录:cloud-go/go-master/service/,共 14 个服务,多数通过 NATS 消息流驱动,RPC 服务通过 Nacos 注册供 Java 调用。

apisvr 网关

apisvr 是车载安防平台的 API 网关(HTTP),API 定义位于 http/things.apihttp/access.api,对外提供 RESTful 接口:

  • 用户认证与权限校验
  • 设备管理接口
  • 产品管理接口
  • 协议管理接口
  • OTA 升级接口
  • 远程配置接口

生成命令:goctl api go -api http/api.api -dir ./ --style=goZero,同时生成 swagger 与访问日志配置。

服务职责矩阵

服务协议职责
apisvrHTTP对外 REST 网关
dgsvrgRPC + MQTT设备认证、注册、消息订阅发布、在线状态
dmsvrgRPC设备/产品/物模型/协议/OTA/分组、设备影子
gpscodecsvrNATSGPS 私有协议 ↔ 标准物模型编解码
geosvrRPC + NATS轨迹消费入库、查询、在线状态、围栏
tripsvr后台行程/停留检测
risksvrNATSH3 风险区域匹配
alertsvrNATS行为告警规则评估
eventsvrRPC规则注册/匹配、事件分发
iamsvrRPCPII 加解密、审计日志
otasvrRPC + NATS固件升级任务
videosvrRPC实时监控、历史录像、云台
wssvrWebSocket实时位置推送
agentsvrNATS + LLM行程智能文案、AI 分析

开发约定

  • 新增 RPC 服务:goctl rpc new rpcsvr --style=goZero -m;新增 API:goctl api new apisvr --style=goZero
  • 新增库表:按各服务 internal/repo/relationDB/example.go 模板生成模型(sql2gorm 生成 model.go),并定制 CRUD 函数。
  • 启动模式:RPC 服务标准 zrpc;后台消费者服务(alertsvr、risksvr、tripsvr、agentsvr)使用 *direct 单例初始化,可独立部署或嵌入 apisvr。
  • 代码生成:proto 修改后运行 goctl rpc protoc proto/xx.proto --go_out=./ --go-grpc_out=./ --zrpc_out=./ --style=goZero -m,生成代码不手改。