[Open-source] High-performance, high-throughput, and high-extensibility IoT platform, supporting millions of connections on a single machine
![[Open-source] High-performance, high-throughput, and high-extensibility IoT platform, supporting millions of connections on a single machine](https://yy123.ink/api/img/1782579358617-u8pcw9.jpg)
1. Project Overview

ThingLinks
This system uses Spring Cloud microservices architecture, a high-performance, high-throughput, and highly extensible IoT platform! A single machine can support millions of connections, and supports custom extension functions for multiple protocols, and supports plugin-based development!
2. Open Source License
Licensed under Apache-2.0
3. Screenshots
Demonstration Picture








4. Feature Overview
ThingLinks IoT Platform provides cloud-based connections for large-scale devices, implementing secure and reliable bidirectional device communication. We open up core functions such as device monitoring, remote upgrades, and scenario associations to help IoT industry users quickly implement device networking and industry application integration. At ThingLinks, we focus on promoting the development of IoT technology, making it applicable in various industries, bringing about the convenience of intelligence and automation.
Core Features
Supports unified product model management, multiple devices, multiple manufacturers, unified device connection management, and multiple protocol adaptation (MQTT, WebSocket, TCP, UDP, COAP, HTTP, etc.).
Flexible rule engine, device alerts, message notifications, and data forwarding.
Device geographic location visualization, visualization dashboard.
TDengine Time-Series Database Super Table Design Concept: Each device has a table, each type of device has a super table.
Main Features
- Fully responsive layout (supports computers, tablets, mobile devices, and all mainstream devices)
- Powerful one-click creation function (including controllers, models, views, menus, etc.)
- Supports multiple data sources, simple configuration to switch.
- Supports button and data permissions, customizable department data permissions.
- Implementing secondary encapsulation for commonly used JS plugins to make JS code more concise and easier to maintain
- Perfect XSS prevention and script filtering, completely eliminating XSS attacks
- Maven multi-project dependencies, modules, and plugins are divided into projects, with loose coupling, making it easier to upgrade or add modules
- Internationalization support, both on the server and client sides
- Perfect logging system, simple annotations can achieve logging
- Support for service monitoring, data monitoring, and cache monitoring functions
- Device integration: device management (supporting MQTT protocol, WebSocket protocol, TCP-IP protocol device access), sub-device management, product management, protocol management, rule engine (device coordination)
- Device debugging: real-time logs, command sending
- Rule engine message forwarding: supporting KAFKA nodes, HTTP nodes, PREDICATE nodes, ROCKET_MQ nodes, RABBIT_MQ nodes, MYSQL nodes, MQTT nodes, TOPIC nodes, LOG nodes

Function development plan
In the near future, we will focus on developing the Pro version, and the open-source version will be delayed, but we will open-source it gradually, please look forward to it!
* Rule engine - device coordination (completed, lacking alarm information configuration)
* APP mobile end - my devices (in progress)
* Alarm management (dingding push, email push, etc.) (planning)
* Big screen display (client, message publishing and subscribing, alarm) (planning)
5. Tech Stack
Platform overall architecture

Platform function architecture

Technical Selection
1. System environment
- Java EE 8
- Servlet 3.0
- Apache Maven 3
2. Main framework
- Spring Boot 2.3.x
- Spring Cloud Hoxton.SR9
- Spring Framework 5.2.x
- Spring Security 5.2.x
3. Persistent layer
- Apache MyBatis 3.5.x
- Hibernate Validation 6.0.x
- Alibaba Druid 1.2.x
4. View layer
- Vue 2.6.x
- Axios 0.21.0
- Element 2.14.x
