更新日志
你好呀,我的老朋友!我是老寇,欢迎来到老寇云平台!
# 3.5.1更新日志
# 版本
🚀 升级Spring Boot版本到3.5.1
🚀 Fury升级到0.11.0
# 功能
🚀 为了减少不必要的修改,分别将laokou_前缀改为iot和LAOKOU_改为IOT,避免自定义项目结构修改过多的代码【主要修改NACOS命名空间和MQ主题】
🚀 Redis序列化将Jackson改为Fury【Jackson序列化已移除】
🚀 构建物联网技术栈,摈弃互联网那一套技术栈,项目移除RocketMQ【Kafka替代RocketMQ】/ShardingSphere/Seata/Dubbo以及其他用不到的模块和依赖,简化项目结构,专注于业务,业务驱动技术!!!【主要还是我玩腻了,东西多了懒得维护,现在本项目的技术栈只为IoT服务】
🚀 项目强制依赖Kafka,Pulsar,Zookeeper
🚀 数据库名称去掉boot_前缀
🚀 项目移除领域溯源的概念,只保留领域事件,统一由MQ处理
🚀 多租户架构变更,用户权限只做字段隔离,IoT数据独立数据源,这样就可以容纳很多的数据【针对物联网业务,合理调整】
🚀 去掉COLA的规则/扩展点/流程,简化项目结构
🚀 修改二级缓存【Caffine+Redis】,去掉本地缓存,只保留Redis
🚀 移除Sentinel,替代方案Resilience4j【Spring Cloud Gateway已完成改造】
🚀 增量数据库Liquebase
🚀 租户只支持精准匹配数据库表,不支持模糊匹配
🚀 增加Dubbo替换掉OpenFeign【基于nacos负载均衡】
🚀 Kafka使用Fury序列化与反序列化【移除原来字符串序列化】
🚀 项目移除snail job模块【自己维护,自己集成】
🚀 Pulsar使用Fory序列化与反序列化
🚀 Dubbo使用Fury序列化与反序列化
🚀 全局共用一个FuryFactory,强制注册类型
🚀 Spring Cloud Gateway支持Redis分布式限流
# 3.5.0更新日志【包含之前版本】
# 版本
🚀 升级Spring Boot版本到3.5.0
🚀 升级Spring Cloud版本到2025.0.0
🚀 升级Spring Cloud Alibaba版本到2023.0.3.2
🚀 升级Spring Security版本到6.5.0
🚀 升级Spring OAuth2 Authorization Server版本到1.5.0
🚀 升级Nacos至3.0.0
# 功能
🚀 重构三层架构【MVC】,改造为分层架构【DDD领域驱动设计】,使用阿里COLA应用框架开发【花费时间特别长,项目的灵魂】
🚀 领域对象交给Spring管理解耦业务,对象延迟加载,避免内存泄漏
🚀 支持COLA的规则/扩展点/流程【已搬COLA代码到本项目】
🚀 严格遵循COLA代码规范
🚀 开两个分支,一个阻塞式【主要维护】,一个响应式【正在探索】,移除乱七八糟的写法,只保留最佳写法
🚀 增加Pulsar(IoT的灵魂)
🚀 增加多租户【IoT数据隔离,多数据源存储IoT数据,还在实现中】
🚀 OAuth2支持用户名密码模式、客户端模式、授权码模式【PKCE】、刷新令牌模式、设备码模式、手机号+验证码模式、邮箱+验证码模式【遵循DDD领域驱动设计,学习DDD可以看看auth服务】
🚀 支持虚拟线程,已完成虚拟线程改造
🚀 新增菜单/角色/部门/用户管理,前端对接完毕,可以满足基本的开发【RABC权限模型】
🚀 新增物模型/产品类别,前端对接完毕
🚀 支持MQTT【服务端+客户端】/TCP【服务端】/HTTP【服务端】/WebSocket【服务端】/UDP【服务端】来实现数据采集,通过Kafka转发数据到IoT平台【本人提出IoT=采集+存储+分析】
🚀 支持Modbus TCP/UDP/RTU/ASCII
🚀 支持CoAP
🚀 支持WebSocket【已整合,支持Nacos负载均衡】
🚀 支持Spring Cloud Gateway从Nacos拉取动态路由【可自定义配置router.json】
🚀 支持基于Nacos/Consul/Apollo的ShardingSphere分库分表【本人倾向于Mybatis-Plus写SQL的分库分表】
🚀 支持分布式用户认证授权
🚀 支持多租户【还没开发完】
🚀 支持API鉴权
🚀 支持接口幂等
🚀 支持分布式锁
🚀 支持分布式ID【zookeeper】
🚀 支持国际化
🚀 支持MD5/AES/RSA/Base64加密
🚀 支持Elasticsearch
🚀 支持FTP
🚀 支持CSV
🚀 支持Sentinel的网关限流和服务限流
🚀 支持限流【基于Redis】
🚀 支持一键格式化代码
🚀 支持邮箱和手机验证码
🚀 支持Knife4j【API接口文档】
🚀 支持Seata和RocketMQ分布式事务
🚀 支持登录/操作/通知/领域事件日志
🚀 支持Redis【阻塞式和响应式】
🚀 支持响应式API【reactor和vertx】
🚀 支持Amazon S3对象存储
🚀 支持Mybatis-Plus多数据源,支持SQL缓存
🚀 支持Log4j2
🚀 支持二级缓存【Caffine+Redis】,通过RocketMQ实现缓存失效
🚀 支持XSS【SQL和字符串】
🚀 支持JSoup爬虫
🚀 支持一键改包名
🚀 支持敏感词【手机号和邮箱】
🚀 支持代码检查
🚀 支持生成项目骨架
🚀 支持Excel大数据量导入与导出
🚀 支持Mybatis Plus批量插入【虚拟线程】
🚀 支持代码生成器【还没写完】
🚀 支持Snail Job分布式任务调度【目前没有用到,不保证稳定性】
🚀 支持JSON日志还原为文本【仅错误日志】
🚀 支持远程调用OpenFeign【熔断/降级】和Dubbo
🚀 支持分布式链路【Micrometer】,通过Kafka转发到本项目的LogStash,由Logstash写入对应的数据源,支持Loki和(EFK+Jeager)
🚀 支持RocketMQ/Kakfa/RabbitMQ/Pulsar【新增部分Go的例子】
🚀 新增GRPC例子【Java+Go】