三三平台拆分为多个独立服务,以下每个模块均以独立服务运行
系统服务
admin ( 系统和权限管理 )
主要有两大类功能:一是系统管理、二是权限管理。
系统管理负责所有系统级别参数的设置、查看、日志等。功能包括系统设置、系统服务、日志、数据字典、租户设置等
权限管理负责用户认证、所有功能菜单 / API的鉴权,其采用 RBAC 模型,并支持多租户。
device ( 设备服务 )
设备、网关、产品管理功能相关的 HTTP API,以及设备数据上行 / 下行处理、入库、和其它模块的数据流转。alarm ( 告警服务 )
告警监控、统计、配置功能相关 HTTP API,以及告警的产生、入库、清除
notify ( 通知服务 )
通知配置、模板、记录等功能相关的 HTTP API,以及通知的发送、记录
forward ( 转发服务 )
数据转发规则配置、转发服务功能相关的 HTTP API,以及将数据转发到第三方服务,支持 MQTT、HTTP、数据库等方式的转发
SANSAN ( 微服务管理器、应用管理中心及 API 网关 )
作为微服务管理器,可启动、守护、监控 admin、device、alarm、notify、forward 等系统服务。
作为应用管理器、可配置、管理、运行您的应用,支持二进制、容器、web等服务的安装、运行、监控。
是所有 HTTP API 接口的统一入口,负责 HTTP API 的代理、认证
软网关
网关分为软网关、网关,软网关是运行在平台的一个网关进程,网关是我们常见的硬件网关。 网关的作用是,有的设备不具备与平台直接通信的能力,需要借助网关连接到平台。比如串口设备需要先连接到网关,才能与平台通讯; 比如 HTTP 协议的设备,需要对接到软网关,才能将自己的 HTTP 协议转换为三三协议
msgtree ( 数据库 )
自研 MQTT 消息总线,用于设备鉴权、接收 / 发送设备上 / 下行数据, 以及平台间消息流转
消息总线只接收处理三三标准协议数据,其它协议数据,比如 modbus、GB28181、OPC UA、私有协议等,可使用支持该协议的软网关组件接入平台。
第三方服务
postgres ( 数据库 )
数据库,系统所有的关系型数据、设备实时数据、历史数据均存储于 postgres 数据库
redis ( 缓存 )
缓存,用于缓存热点数据,提高系统处理能力
nginx ( HTTP 服务器、反向代理 )
HTTP 服务器,提供前端 UI 的 HTTP 服务
UI 界面
ssiot-ui
系统采用前后端分离方式开发,前端 UI 界面独立开发和部署