HiveMQ to TDengine
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The HiveMQ TDengine Extension is a plugin that seamlessly bridges MQTT messaging with time-series data storage. It intercepts all messages published to a HiveMQ broker and persistently writes them to a TDengine database, enabling real-time IoT and telemetry data ingestion and analysis. ## Key Features - **Real-time Data Ingestion** — Intercepts and asynchronously writes every MQTT publish message to TDengine. - **Dual Write Methods** — Supports writing data via both HTTP and native TDengine SDK connections. - **Automatic Schema Management** — Creates the required database and table on startup based on configuration. - **Payload Encoding Handling** — Automatically attempts Base64 encoding if the payload contains characters incompatible with GBK encoding. - **Concurrency Safety** — Implements locking mechanisms to handle high-concurrency writes and avoid SDK pointer errors. ## Architecture The plugin consists of three core Java classes: `TDengineExtension` serves as the main entry point, managing the plugin lifecycle and configuration. `TDengine` handles all database connectivity, initialization, and the save operations. `TDengineInterceptor` is triggered on inbound publish events to call the asynchronous save method. ## Philosophy The extension is designed for simplicity and reliability, automating database setup and providing robust error handling to ensure continuous data flow from MQTT topics into structured time-series storage.
The TDengine connector enables seamless integration between Apache Pulsar, a distributed messaging and streaming platform, and TDengine, a high-performance time-series database. It facilitates real-time data ingestion and synchronization, making it essential for IoT, monitoring, and analytics pipelines that require efficient time-series data handling. ## Key Features - **Source Connector** — Reads data from TDengine tables and streams it to Pulsar topics, supporting configurable SQL queries and restart options. - **Sink Connector** — Writes data from Pulsar topics into TDengine, enabling persistent storage of streaming data. - **JDBC Integration** — Uses JDBC drivers to connect to TDengine instances, supporting authentication and connection pooling. - **Time-Series Optimized** — Designed specifically for TDengine's time-series data model, handling super tables and time-ordered queries. - **Configuration Flexibility** — Supports both JSON and YAML configuration files for easy deployment and management. ## Philosophy The connector follows a modular, pluggable architecture aligned with Pulsar's I/O framework, prioritizing reliability and performance for time-series data workflows.
rsyslog plugin for tdengine
a TDengine extension for HiveMQ.