返回项目列表

智能插座系统 - IoT电力管理平台

基于 Spring Boot 3 和 Java 21 LTS 开发的 IoT 智能插座管理系统,覆盖电力设备接入、用电数据采集、远程控制、权限管控、告警计费全业务链路。

2025.11-2026.02

项目背景

智能插座系统是一款面向宿舍/办公场景的 IoT 电力管理平台,旨在实现智能用电管理、远程控制、告警通知、计费统计等功能。项目需要支持千级设备并发接入、实时数据采集、高并发数据处理,同时保证系统的安全性和稳定性。作为后端开发工程师,我负责从架构设计到核心功能实现的全流程开发工作。

技术架构

项目采用支持水平扩展的分层架构,后端基于 Spring Boot 3 和 Java 21 LTS,使用 Spring Security + JWT + RBAC 实现分布式无状态鉴权,MQTT 协议处理 IoT 设备通信,Redis 实现分布式令牌黑名单和多级缓存,RabbitMQ 处理异步消息削峰,PostgreSQL 持久化存储业务数据。

核心功能

IoT设备接入:支持千级电力设备并发接入与数据上报,基于 MQTT 协议

用电数据采集:实时采集设备用电数据,支持数据存储和统计分析

远程控制:支持设备远程开关、定时任务、用电策略配置

权限管控:分布式 JWT 无状态鉴权 + RBAC 细粒度权限模型

告警通知:设备异常告警、用电超限告警,支持多渠道通知

计费统计:用电账单自动生成,支持多种计费策略

统一限流:Guava 令牌桶单机兜底 + Redis+Lua 分布式滑动窗口限流

审计日志:基于 AOP 切面实现统一审计日志和全局异常治理

技术栈

Spring Boot 3Java 21 LTSSpring SecuritySpring Data JPAJWTMQTTGuavaPostgreSQLRedisRabbitMQ

工作职责

  • 1

    设计并实现支持水平扩展的分层架构,覆盖 IoT 全业务链路

  • 2

    落地分布式 JWT 无状态鉴权 + RBAC 细粒度权限模型

  • 3

    Redis 实现原子性 SETNX+EX 的分布式令牌黑名单

  • 4

    PBKDF2 加盐哈希加密 + 恒定时间比对防时序攻击

  • 5

    基于 AOP 切面实现统一限流、审计日志、全局异常治理

  • 6

    Redis 多级缓存优化数据层性能,接口响应耗时压缩至 50ms 以内

  • 7

    RabbitMQ 实现三大核心异步链路,系统吞吐提升 5 倍

  • 8

    Java 21 虚拟线程优化 IoT 高并发场景

技术难点与解决方案

IoT 高并发设备接入

落地 Java 21 虚拟线程优化 IoT 高并发场景,支撑千级设备并发接入与数据上报,大幅提升系统吞吐能力

分布式鉴权与权限控制

Redis 实现原子性 SETNX+EX 的分布式令牌黑名单,替代本地 Map 支持多实例部署;PBKDF2 加盐哈希加密 + 恒定时间比对防时序攻击

数据层性能优化

Redis 多级缓存(L1 本地 Caffeine + L2 分布式 Redis)缓存热点设备/用电数据;JPA 批量操作、联合索引优化、流式分页降低数据库 IO,接口平均响应耗时压缩至 50ms 以内

异步削峰填谷

RabbitMQ 实现设备遥测数据异步落库、告警消息异步推送、用电账单异步生成三大核心异步链路,削平 IoT 设备批量上报的流量峰值,系统吞吐提升 5 倍

统一限流与异常治理

基于 AOP 切面实现统一限流、审计日志、全局异常治理:Guava 令牌桶算法做单机兜底,Redis+Lua 脚本实现分布式滑动窗口限流,峰值 QPS 承载提升 300%

项目成果

支撑千级 IoT 设备并发接入与数据上报

接口平均响应耗时压缩至 50ms 以内

系统吞吐提升 5 倍,峰值 QPS 承载提升 300%

全国大学生物联网设计竞赛东部赛区一等奖(A类赛事)