跳到主要内容

系统架构图

三三平台拆分为多个独立服务,以下每个模块均以独立服务运行

系统服务

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 界面独立开发和部署