Coder Social home page Coder Social logo

wyhuestc / thinglinks Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mqttsnet/thinglinks

0.0 0.0 0.0 6.67 MB

开源ThingLinks物联网一体化平台,高性、高吞吐量、高扩展性的物联网平台!单机可以支持百万链接,同时支持自定义扩展功能,功能非常强大,采用netty作为通信层组件,支持插件化开发集成!

License: Apache License 2.0

Shell 0.18% JavaScript 6.05% Java 63.92% HTML 1.57% Batchfile 0.16% Vue 27.38% SCSS 0.75%

thinglinks's Introduction

ThingLinks平台简介

本系统采用Spring Cloud 微服务架构,一款高性、高吞吐量、高扩展性的物联网平台! 单机可以支持百万链接,同时支持自定义扩展功能多种协议交互,支持插件化开发!

OSCS Status

技术栈

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-modules-protocolAnalysis            // 协议解析服务 [19307]、[TCP-IP:18901]、[UDP-IP:18902]
├── thinglinks-registry         // 注册中心微应用
├── thinglinks-visual          // 图形化管理模块
│       └── thinglinks-visual-monitor                      // 监控中心 [19400]
│       └── thinglinks-visual-collection                   // 服务器监控采集服务 [19401]
├──pom.xml                // 公共依赖

平台总体架构

设备集成LINK架构

核心功能列表

系统管理:用户管理、角色管理、菜单管理、部门管理、岗位管理、字典管理、参数设置、通知公告、日志管理

系统监控:在线用户、定时任务、Sentinel控制台、Nacos控制台、Admin控制台、任务调度管理

系统工具:表单构建、代码生成、系统接口

设备集成:设备管理(支持MQTT协议、TCP-IP协议设备接入)

规则引擎消息转发:支持KAFKA节点、HTTP节点、PREDICATE节点、ROCKET_MQ节点、RABBIT_MQ节点、MYSQL节点、MQTT节点、TOPIC节点、LOG节点

在线体验

由于服务器近期频繁遭到境外IP暴力破解攻击,暂时关闭!

  • thinglinks/123456

演示地址:http://thinglinks.mqttsnet.com/

相关技术资料及话题

功能开发计划

*、设备管理页面展示优化(实现中)

*、产品管理(后台接口已完成,web实现中)

*、设备消息列表(实现中)

*、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/null 2>&1 &

2、nohup java -Xms150m -Xmx150m -Xmn100m -Xss512k -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -server -jar -Dfile.encoding=utf-8  ./thinglinks-auth-1.0.0.RELEASE.jar >/dev/null 2>&1 &

3、nohup java -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/null 2>&1 &

4、nohup java -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/null 2>&1 &

5、nohup java -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/null 2>&1 &

6、nohup java -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/null 2>&1 &

7、nohup java -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/null 2>&1 &

8、nohup java -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/null 2>&1 &

9、nohup java -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/null 2>&1 &

10、nohup java -Xms400m -Xmx400m -Xmn150m -Xss512k -XX:MetaspaceSize=1024m -XX:MaxMetaspaceSize=1024m -server -jar -Dfile.encoding=utf-8  ./thinglinks-modules-protocolAnalysis-1.0.0.RELEASE.jar >/dev/null 2>&1 &

11、nohup java -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/null 2>&1 &

12、nohup java -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/null 2>&1 &

贡献代码(欢迎你的加入)

如果你有兴趣参与项目开发,请联系mqttsnet团队邮箱: [email protected]

友情链接

本平台高效MQTT Broker采用: SMQTT

MQTT客户端C库: thinglinks-mqtt-c

License

Apache License, Version 2.0

感谢JetBrains官方提供免费 IDEA License

交流社区(二维码失效后可以添加作者WX: xiaonannet 邀请进群,备注:thinglinks)

image

thinglinks's People

Contributors

xiaonannet avatar lovely-shisen avatar whb-11 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.