物联网平台开发工程师(物联网前端开发工程师)
无意中发现一款基于Spring Cloud 微服务架构构建的基础物联网平台项目,感觉不错,适合微服务入门学习练手。推荐给大家!
ThingLinks平台简介
系统采用基于Spring Cloud微服务架构构建,是一款高性、高吞吐量、高扩展性的物联网基础平台! 支持自定义扩展功能多种协议交互,支持插件化开发! PS:物联网相关功能目前还不太完善,比如物联网相关的的物理设备连接、数据采集、指令控制等,目前还没实现,功能都在规划中
技术栈
1、采用前后端分离的模式,前端框架VUE。
2、后端采用Spring Boot、Spring Cloud & Alibaba。
3、MqttBroker(支持集群化部署)基于Netty、Reactor3、Reactor-netty。
4、注册中心、配置中心选型Nacos,权限认证使用Redis。
5、流量控制框架选型Sentinel,分布式事务选型Seata。
6、时序数据库采用TDengine开源、高效的物联网大数据平台、处理物联网海量数据写入与负载查询。
核心特性
支持统一产品模型管理,多种设备,多种厂家,统一设备连接管理,多协议适配(TCP,MQTT,UDP,CoAP,HTTP等)。
灵活的规则引擎,设备告警,消息通知,数据转发。
设备地理位置可视化查看,可视化大屏。
TDengine时序数据库超级表设计概念:每个设备一张表,每类设备一个超级表。
系统模块
com.mqttsnet.thinglinks ├── thinglinks-ui// 前端框架 [19000]├── thinglinks-gateway// 网关模块 [19100]、[sentinel:19101]├── thinglinks-auth// 认证中心 [19200]├── thinglinks-api// 接口模块│ └── thinglinks-api-system// 系统接口├── thinglinks-common// 通用模块│ └── thinglinks-common-core// 核心模块│ └── thinglinks-common-datascope// 权限范围│ └── thinglinks-common-datasource// 多数据源│ └── thinglinks-common-job// 分布式定时任务│ └── thinglinks-common-kafka// kafka消息服务│ └── thinglinks-common-log// 日志记录│ └── thinglinks-common-redis// 缓存服务│ └── thinglinks-common-rocketmq// rocketmq消息服务│ └── thinglinks-common-security// 安全模块│ └── thinglinks-common-swagger// 系统接口├── thinglinks-modules// 业务模块│ └── thinglinks-modules-file// 文件服务 [19300]│ └── thinglinks-modules-gen// 代码生成 [19301]│ └── thinglinks-modules-job// 定时任务 [19302]│ └── thinglinks-modules-system// 系统模块 [19303]│ └── thinglinks-modules-tdengine// TDengine服务 [19304]│ └── thinglinks-modules-link// Link服务 [19305]└── thinglinks-modules-broker// broker服务 [19306]、[MQTT-TCP:11883]、[MQTT-SSL:18443]、[MQTT-WS:18999]├── thinglinks-visual// 图形化管理模块│ └── thinglinks-visual-monitor// 监控中心 [19400]│ └── thinglinks-visual-collection// 服务器监控采集服务 [19401]├──pom.xml// 公共依赖设备集成LINK架构
设备运行拓扑图
核心功能列表
系统管理:用户管理、角色管理、菜单管理、部门管理、岗位管理、字典管理、参数设置、通知公告、日志管理
系统监控:在线用户、定时任务、Sentinel控制台、Nacos控制台、Admin控制台、任务调度管理
互联网小常识:网络系统安全必须包括3个机制:安全防护机制、安全监测机制与安全恢复机制。
系统工具:表单构建、代码生成、系统接口
互联网小常识:将主机(A)资源记录手动添加到正向查找区域时,使用“创建相关的指针(PTR)记录”选项,可以将指针记录自动添加到反向查找区域中。
设备集成:设备管理(支持MQTT协议设备接入)
规则引擎消息转发:支持KAFKA节点、HTTP节点、PREDICATE节点、ROCKET_MQ节点、RABBIT_MQ节点、MYSQL节点、MQTT节点、TOPIC节点、LOG节点
在线体验
thinglinks/123456演示地址:http://thinglinks.mqttsnet.com/
相关技术资料及话题
功能开发计划
*、设备管理页面展示优化(实现中)
*、设备消息列表(实现中)
*、Docker容器化部署(实现中)
*、规则引擎可视化(规划中)
*、告警列表
*、大屏展示(客户端、消息发布订阅、告警)
演示图
配置使用
启动命令(进入对应目录后逐一启动即可、可根据服务器性能调整JVM参数)
1、nohup java -Xms150m -Xmx150m -Xmn100m -Xss512k -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -server -jar -Dfile.encoding=utf-8 ./thinglinks-gateway-1.0.0-RELEASE.jar >/dev/null2>&1&2、nohupjava-Xms150m -Xmx150m -Xmn100m -Xss512k -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -server-jar -Dfile.encoding=utf-8./thinglinks-auth-1.0.0-RELEASE.jar >/dev/null2>&1&3、nohupjava-Xms150m -Xmx150m -Xmn100m -Xss512k -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -server-jar -Dfile.encoding=utf-8./thinglinks-modules-file-1.0.0-RELEASE.jar >/dev/null2>&1&4、nohupjava-Xms150m -Xmx150m -Xmn100m -Xss512k -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -server-jar -Dfile.encoding=utf-8./thinglinks-modules-gen-1.0.0-RELEASE.jar >/dev/null2>&1&5、nohupjava-Xms150m -Xmx150m -Xmn100m -Xss512k -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -server-jar -Dfile.encoding=utf-8./thinglinks-modules-job-1.0.0-RELEASE.jar >/dev/null2>&1&6、nohupjava-Xms150m -Xmx150m -Xmn100m -Xss512k -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -server-jar -Dfile.encoding=utf-8./thinglinks-modules-system-1.0.0-RELEASE.jar >/dev/null2>&1&7、nohupjava-Xms150m -Xmx150m -Xmn100m -Xss512k -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -server-jar -Dfile.encoding=utf-8./thinglinks-modules-tdengine-1.0.0-RELEASE.jar >/dev/null2>&1&8、nohupjava-Xms150m -Xmx150m -Xmn100m -Xss512k -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -server-jar -Dfile.encoding=utf-8./thinglinks-modules-link-1.0.0-RELEASE.jar >/dev/null2>&1&9、nohupjava-Xms400m -Xmx400m -Xmn150m -Xss512k -XX:MetaspaceSize=1024m -XX:MaxMetaspaceSize=1024m -server-jar -Dfile.encoding=utf-8./thinglinks-modules-broker-1.0.0-RELEASE.jar >/dev/null2>&1&10、nohupjava-Xms150m -Xmx150m -Xmn100m -Xss512k -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -server-jar -Dfile.encoding=utf-8./thinglinks-visual-monitor-1.0.0-RELEASE.jar >/dev/null2>&1&11、nohupjava-Xms150m -Xmx150m -Xmn100m -Xss512k -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -server-Dserver.port=19101-Dcsp.sentinel.dashboard.server=localhost:19101-Dproject.name=sentinel-dashboard -Dsentinel.dashboard.auth.username=thinglinks -Dsentinel.dashboard.auth.password=123456-jar -Dfile.encoding=utf-8./sentinel-dashboard-1.8.2.jar >/dev/null2>&1&关注作者
欢迎关注作者微信公众号, 一起交流软件开发 微信公众号 搜索 北漂码农老吴,回复 在线 Debug 获取更多
长按上方二维码 2 秒
互联网小常识:目前无线网络的标准有IEEE802.11b,IEEE802.11a,IEEE802.11g等,IEEE802.11b仍是使用最广泛的标准。IEEE802.11b带宽最高可达11Mbps,而实际中还可采用5.5Mbps,2Mbps和1Mpbs。
免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186