物联网平台+业务平台基本架构设计与优化想法

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

前言

      目前的交付底座有点老而且集成的有点杂计划是要升级下先说想法看领导做不做。

1 业务平台定位

      我们的愿景通过物联平台赋能让数据产生价值。
      为客户提供可视化的平台数据价值依托我们的业务平台展现客户根据自身品牌定位、业务领域通过我们的物联平台选择物联设备整合数据依托我们的物联平台在业务平台端打通上下行通过规则引擎、计量计费等等将业务信息化、差异化、细分让数据起飞帮助客户实现信息化价值。

1.1业务平台的具体定位

1、 交付底座
2、 业务展示数据支撑
3、 物联网平台“客户端”
4、 硬件、业务配置端、数据展示端
以下简称“交付底座”。

2现状

      经过近10年的行业沉淀、业务发酵、技术成长交付底座在支持各行各业的业务日积月累中相关依赖版本、JDK等没有与时俱进的更新。而且除了主分支基础代码也在不断分裂。在技术的发展中很多依赖已经不维护了甚至有的还爆出了安全漏洞。所以交付底座到了需要更新的时候、业务到了需要细分的节点。

3优化目标

1、 更新springboot到最新版本
2、 更新相关依赖到最新版本
3、 业务分化上微服务这点受各种资源限制可能不太现实那么退而求其次
4、 业务细分模块化
5、 大数据模块剥离数据查询请求数据交换中心数仓
6、 关键模块可以考虑重构

4优化思路

4.1架构优化图

在这里插入图片描述
                                                                        架构图一
在这里插入图片描述
                                                                        架构图二

4.2优化说明

      这里对整体架构理解可能有误但是不影响本次优化。其实就想优化引入数据交换中心数仓模块方便大数据统一管理全生命周期记录、各状态大数据分析。
以上2个优化方案个人倾向方案二解析层就可以将数据存储入仓后面可以做数据量比对或使用flink等流处理引擎从上报源头做实时解析实现数据全生命周期记录等等用flink可以做的事情还挺多的。计量、计费、规则、场景驱动等等真的是可以让数据各维度产生价值。

5优化方案

5.1模块架构拆分设计

在这里插入图片描述
以上是微服务架构如果不采用微服务那模块还是按照服务层拆分API层统一。

5.2技术优化点

结合目前交付底座有依赖升级、技术升级、实现升级等等具体如下
1、 springboot升级到3
2、 JDK级联升级到17
3、 MybatisPlus升级到最新版本
4、 Websocket前后端信息交互不采用websocket直连重构为通过stomp协议
5、 升级规则引擎采用最新且性能更强的js引擎Graalvm
6、 数据源不用阿里的druid直接用springBoot默认的HikariCP
7、 容器不用内置的tomcat改用性能更强的undertow
8、 增加连接数据交换中心数仓模块
9、 重构ORM使用JPA、tk的业务代码统一使用MybatisPlus
10、 要么拆分自动任务到LTS或PoewrJob第三方自动任务模块交付底座只提供API业务接口
11、 如果想自动任务个性化管理可以自己通过Quartz实现任务配置、调度、执行
12、 不用security安全管理自己实现token权限机制区分多端请求更方便对接
13、 废除有侵入的swagger接口注释方式统一编码写javadoc注释。统一采用idea + apifox uploader + apifox方式
14、 Kafka、ES等数据消费都转移到数据交换中心做处理数据交换中心可以接入flink做处理
15、 移除ETL数据计算由数据交换中心承担
16、 信息推送服务移除到信息服务中心处理
17、 如果需要健康检查用springBoot提供的actuator
18、 相关依赖数据库开启binLog方便flink使用CDC数据处理

6总结

      实际上这就是物联网 + 业务交付底座的基本架构我的想法是要优化成这样就我们目前的资源看估计不现实。那位东家有资源可以参考下。
      就写到这里希望能帮到大家uping

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6