翼瓴智慧楼宇技术架构

作者:zhangyunlong 发布时间: 2026-06-23 阅读量:16 评论数:0

整体架构

graph TB subgraph 展示层["展示层"] direction LR Portal[统一登录门户] Web[WEB端] H5[HTML5] MiniApp[小程序] APP[APP] Ops[运维端] end subgraph 网关层["网关层"] direction TB KeepAlive[Keepalive / Nginx] Gateway[Gateway - 路由/流控/熔断降级/协议转换/黑白名单/灰度] Auth[用户认证 / api认证 / 权限认证] end subgraph 业务层["业务层"] direction TB subgraph 运维监控 SpringAdmin[应用监控<br/>Spring Boot Admin] end subgraph 公共组件 LogStarter[log-starter] Workflow[工作流] CommonModule[common-starter] KafkaStarter[kafka-starter] MessageService[message服务] LicenseStarter[license-starter] RedisStarter[redis-starter] XXLJobService[xxl-job服务] ToolStarter[tool-starter] DataChangeStarter[datachange-starter] end subgraph 系统服务集群 BasePerson[人员服务] Device[设备服务] Alarm[告警服务] Security[安全服务] Visitor[访客服务] PassThrough[通行服务] Msg[消息服务] Parse[解析服务] CommonScene[场景服务] GridAccess[网格接入服务] ObjectStorager[对象存储服务] Permission[权限服务] Report[报表服务] end subgraph 文件服务 MinIO[MinIO<br/>文件上传/下载/分片] end subgraph 服务治理 ServiceDiscovery[服务发现<br/>Nacos] ServiceRegistry[服务注册<br/>Nacos] ConfigCenter[配置中心<br/>Nacos] Sentinel[熔断限流<br/>Sentinel] GrayRelease[灰度发布] end subgraph 日志与搜索 ELK[ELK<br/>Flume日志采集] ElasticSearch[全文搜索<br/>ElasticSearch] Logstash[Logstash<br/>搜集分析] Kibana[图形展示<br/>Kibana] end subgraph 定时任务 XXLJob[XXL-JOB] end subgraph 消息总线 Kafka[Kafka集群] end end subgraph 物模型层["物模型层"] direction TB subgraph 链路追踪 SkyWalking[链路追踪<br/>SkyWalking] end subgraph 告警提醒 AlertService[告警服务] end subgraph 日志中心 LogCenter[日志中心] end subgraph 数据采集与解析 Video[视频] DownCollect[下发采集] ModelTransform[模型转换] DataReport[数据上报] DataParse[数据解析] FrameStream[抽帧视频流] Collect[采集] VisualConfig[可视化配置] SouthAPI[南向对接厂商接口服务] AI[AI] VideoProc[视频] CTWing[ctwing] Parking[停车设备] FireEquip[消防设备] Camera[摄像头] AirCondition[空调、照明] WaterMeter[水电表] Panel[面板机] AccessControl[门禁] FireDevice[消防设备] end end subgraph 设备接入层["设备接入层"] direction LR RTSP[rtsp/rtmp/hls] HTTP[http] SNMP[snmp] NB[nb-iot] MQTT[mqtt] Socket[http_socket] end subgraph 基础设施层["基础设施层"] direction LR PgSQL[PgSQL集群] Redis[Redis集群] CodeGen[代码生成] Seata[Seata分布式事务] BigData[大数据计算] ES[ES索引] MySQL[MySQL] end subgraph 开发运维["开发运维"] direction TB Gitee[Gitee] Jenkins[Jenkins] ApiFox[Apifox] Prometheus[Prometheus] K8S[K8S/Docker<br/>弹性伸缩] end Portal --> Gateway Web --> Gateway H5 --> Gateway MiniApp --> Gateway APP --> Gateway Ops --> Gateway Gateway --> Auth Auth --> BasePerson Auth --> Device Auth --> Alarm Auth --> Security Auth --> Visitor Auth --> PassThrough Auth --> Msg Auth --> Parse Auth --> CommonScene Auth --> GridAccess Auth --> ObjectStorager Auth --> Permission BasePerson --> ServiceDiscovery Device --> ServiceDiscovery Alarm --> ServiceDiscovery Security --> ServiceDiscovery Visitor --> ServiceDiscovery PassThrough --> ServiceDiscovery Msg --> ServiceDiscovery Parse --> ServiceDiscovery CommonScene --> ServiceDiscovery GridAccess --> ServiceDiscovery ObjectStorager --> ServiceDiscovery Permission --> ServiceDiscovery BasePerson --> ConfigCenter Device --> ConfigCenter Alarm --> ConfigCenter BasePerson --> Kafka Device --> Kafka Alarm --> Kafka Video --> FrameStream DownCollect --> Collect ModelTransform --> VisualConfig DataReport --> SouthAPI DataParse --> SouthAPI FrameStream --> AI FrameStream --> VideoProc Collect --> CTWing Collect --> WaterMeter CTWing --> AirCondition CTWing --> NB NB --> WaterMeter MQTT --> WaterMeter SouthAPI --> Parking SouthAPI --> FireEquip Parking --> Panel Parking --> AccessControl FireEquip --> FireDevice Camera --> RTSP AirCondition --> HTTP WaterMeter --> SNMP WaterMeter --> NB WaterMeter --> MQTT Panel --> Socket AccessControl --> Socket FireDevice --> HTTP BasePerson --> PgSQL Device --> PgSQL Alarm --> PgSQL Security --> PgSQL Visitor --> PgSQL PassThrough --> PgSQL Msg --> PgSQL Parse --> PgSQL CommonScene --> PgSQL GridAccess --> PgSQL ObjectStorager --> PgSQL Permission --> PgSQL BasePerson --> Redis Device --> Redis Alarm --> Redis ELK --> Logstash Logstash --> ElasticSearch ElasticSearch --> Kibana

微服务模块架构(Client-Server模式)

graph LR subgraph ctsiib-xxx 微服务模块 subgraph xxx-client FeignClient[Feign接口定义] DTO[DTO/VO对象] Constants[常量定义] end subgraph xxx-server Controller[Controller层] Service[Service层] Mapper[Mapper层] Entity[Entity实体] Config[配置类] end end xxx-client -.->|依赖| xxx-server Controller --> Service Service --> Mapper Service --> FeignClient Mapper --> Entity

技术栈分层

graph TB subgraph 表现层 SpringMVC[Spring MVC] WebSocket[WebSocket] FreeMarker[FreeMarker] end subgraph 业务层 SpringBoot[Spring Boot 2.7.2] SpringCloud[Spring Cloud 2021.0.4] SpringCloudAlibaba[Spring Cloud Alibaba 2021.0.4.0] end subgraph 数据访问层 MyBatisPlus[MyBatis-Plus 3.4.2] MyBatis[MyBatis 2.1.4] Liquibase[Liquibase 数据库版本管理] end subgraph 公共组件层 KafkaStarter[kafka-starter] RedisStarter[redis-starter] ToolsStarter[tools-starter] LogStarter[log-starter/jrj-log-starter] DataChangeStarter[datachange-starter] XXLJobStarter[xxljob-starter] MQStarter[mq-starter] DBSafeStarter[jrj-dbsafe-starter] CommonModule[common-module] end subgraph 基础设施层 PostgreSQL[(PostgreSQL)] Redis[(Redis)] Kafka[(Kafka)] Nacos[(Nacos)] XXLJobServer[(XXL-JOB Server)] end SpringMVC --> SpringBoot WebSocket --> SpringBoot FreeMarker --> SpringBoot SpringBoot --> SpringCloud SpringCloud --> SpringCloudAlibaba SpringBoot --> MyBatisPlus MyBatisPlus --> MyBatis MyBatis --> Liquibase SpringBoot --> KafkaStarter SpringBoot --> RedisStarter SpringBoot --> ToolsStarter SpringBoot --> LogStarter SpringBoot --> DataChangeStarter SpringBoot --> XXLJobStarter SpringBoot --> MQStarter SpringBoot --> DBSafeStarter SpringBoot --> CommonModule KafkaStarter --> Kafka RedisStarter --> Redis LogStarter --> Kafka XXLJobStarter --> XXLJobServer MyBatisPlus --> PostgreSQL

部署架构

graph TB subgraph CI/CD Git[Git代码仓库] Jenkins[Jenkins CI/CD] Nexus[Nexus私有仓库] end subgraph Docker容器 GatewayContainer[Gateway容器] CASContainer[CAS容器] Service1[业务服务容器1] Service2[业务服务容器2] Service3[业务服务容器N] end subgraph 中间件集群 NacosCluster[Nacos集群] RedisCluster[Redis集群] KafkaCluster[Kafka集群] DBMaster[(PostgreSQL主)] DBSlave[(PostgreSQL从)] end Git --> Jenkins Jenkins --> Nexus Jenkins --> GatewayContainer Jenkins --> CASContainer Jenkins --> Service1 Jenkins --> Service2 Jenkins --> Service3 GatewayContainer --> NacosCluster CASContainer --> NacosCluster Service1 --> NacosCluster Service2 --> NacosCluster Service3 --> NacosCluster GatewayContainer --> RedisCluster CASContainer --> RedisCluster Service1 --> RedisCluster Service1 --> KafkaCluster Service2 --> KafkaCluster Service1 --> DBMaster Service2 --> DBMaster CASContainer --> DBMaster DBMaster -.->|复制| DBSlave

评论