qiaojialin commented on code in PR #400: URL: https://github.com/apache/iotdb-docs/pull/400#discussion_r1833768757
########## src/UserGuide/Master/Deployment-and-Maintenance/Data-subscription.md: ########## @@ -0,0 +1,448 @@ +# Data Subscription + +## 1. Feature Introduction + +The IoTDB data subscription module (also known as the IoTDB subscription client) is a feature supported after IoTDB V1.3.3, which provides users with a streaming data consumption method that is different from data queries. It refers to the basic concepts and logic of message queue products such as Kafka, **providing data subscription and consumption interfaces**, but it is not intended to completely replace these consumer queue products. Instead, it offers more convenient data subscription services for scenarios where simple streaming data acquisition is needed. + +Using the IoTDB Subscription Client to consume data has significant advantages in the following application scenarios: + +1. **Replacing Polling Queries for Large Amounts of Data**: Avoids the significant impact on the performance of the original system when the query frequency is high and there are many measurement points; avoids the issue of determining the query range, ensuring that the downstream can obtain accurate and complete data; + +2. **Rapid Integration with Downstream Systems**: Easier to integrate with system components such as Flink, Spark, Kafka / DataX, Camel / MySQL, PG, etc. There is no need to develop custom logic for IoTDB change capture for each big data component, which simplifies the design of integration components and improves development efficiency. + +## 2. Key Concepts + +The IoTDB Subscription Client encompasses three core concepts: Topic, Consumer, and Consumer Group. The specific relationships are illustrated in the diagram below: + +<div align="center"> + <img src="https://alioss.timecho.com/docs/img/Data_sub_01.png" alt="" style="width: 60%;"/> +</div> + +1. **Topic**: A Topic is a logical concept used in the IoTDB Subscription Client to categorize data, which can be considered as a data publication channel. Producers publish data to specific topics, and consumers subscribe to these topics to receive relevant data. Unlike Kafka, in the IoTDB subscription client, topics correspond to the sequence and time range to be subscribed to, output format (message or TsFile), and optional custom processing logic. + +2. **Consumer**: Consumer is the application or service where the IoTDB subscription client is located, responsible for receiving and processing data published to specific topics. Consumers retrieve data from the queue and process it accordingly. There are two types of Consumers available in the IoTDB subscription client: Review Comment: ```suggestion 2. **Consumer**: Consumer is an IoTDB subscription client, responsible for receiving and processing data published to specific topics. Consumers retrieve data from the queue and process it accordingly. There are two types of Consumers available in the IoTDB subscription client: ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
