star-work-cloud 系统总体架构

star-work-cloud 系统总体架构 由 Archify 生成的架构图。 StarWork / Milo 客户端 · macOS · Windows · Linux · 终端 StarWork / Milo 客户端 macOS · Windows · Linux 管理浏览器 · 门户 / 管理端 SPA · 终端 管理浏览器 门户 / 管理端 SPA L4 直达 · NodePort / LB · TCP · K8s 集群 star-sit L4 直达 NodePort / LB · TCP Ingress · /starwork 前缀路由 · K8s 集群 star-sit Ingress /starwork 前缀路由 前端 SPA · front · nginx · K8s 集群 star-sit 前端 SPA front · nginx TLS 长连接服务 :8443 · 握手 · AUTH · 信封协议 · 会话表 · K8s 集群 star-sit · 单进程 TLS 长连接服务 :8443 握手 · AUTH · 信封协议 · 会话表 单进程 HTTP API :8090 · gin · JWT + casbin · 10 组接口 · K8s 集群 star-sit · 单进程 HTTP API :8090 gin · JWT + casbin · 10 组接口 单进程 后台巡检 Worker · 心跳 · 补推 · 归档 · advisory lock 选主 · K8s 集群 star-sit · 单进程 后台巡检 Worker 心跳 · 补推 · 归档 · advisory lock 选主 单进程 PostgreSQL · 外部提供 · 无外键 · 17 表 · 数据与存储 PostgreSQL 外部提供 · 无外键 · 17 表 PVC /app/data · 上传包 · 归档 · RSA 私钥 · 数据与存储 PVC /app/data 上传包 · 归档 · RSA 私钥 TLS 8443 4 层转发 HTTPS /starwork → SPA /starwork/api config.push 定向推送 设备 · 会话 · 配置 · 日志 业务表 · casbin 策略 上传 · 归档 · 分片读取 终端 K8s 集群 star-sit 数据与存储

单进程双服务

  • • 8443 TLS 长连接与 8090 gin HTTP 共用一个进程、一套业务层
  • • HTTP 在独立 goroutine 监听,两条服务互不阻塞
  • • 共用 PostgreSQL 与 /app/data 存储,无外键、关联在应用层维护

多副本就绪

  • • 设备会话只留在持有连接的副本内存,不引入 Redis
  • • 每副本 10s 心跳写库 · 60s 离线清理 · 2s 待下发补推
  • • PG advisory lock 选主,归档 / 下发巡检等定时任务只跑一份

安全基线

  • • JWT 密钥启动强校验(≥32 字符)+ casbin RBAC 三级权限
  • • 登录密码 RSA 加密传输,敏感字段 AES-256-GCM 加密入库并掩码返回
  • • 设备可选 AUTH 二次鉴权,握手 / 空闲超时与连接上限治理