Hi Chris, You're right, we separate the mqtt into another sub module `external-service-impl/mqtt`. We are still bundling it within the *DataNode* for *backward compatibility*, ensuring a *seamless upgrade* for users who are utilizing *MQTT* in older versions.
In fact, the framework is highly flexible. We have provided *extension interfaces* for users to implement *custom services*, which can be *initialized and launched* in sync with the DataNode's startup.(WIP). I think when that is finished, you can use this to start your *custom mqtt client to consume from an external mqtt broker.* Best regards, --------------------- Yuan Tian On Mon, Jan 26, 2026 at 6:58 PM Christofer Dutz <[email protected]> wrote: > Hi Yuan, > > I think refactoring our solution to something where you can start a broker > if you need it, but that in both cases consuming the incoming messages is > based on a MQTT client would be the best solution. > As it is now, the only thing we win, is that we’re splitting up the > iotdb-server module hereby reducing the complexity and dependencies of the > iotdb-server module (I haven’t had a look yet, but I assume it’s now in a > separate module). > > This would be something I would be interested in working on. > > I can imagine many use-cased of using IOTDB as a sink in industrial > solutions, but I can’t imagine even one case where the embedded Matt server > would be used. > > Chris > > > Von: Yuan Tian <[email protected]> > Datum: Montag, 26. Januar 2026 um 11:05 > An: [email protected] <[email protected]> > Betreff: Re: Decoupling MQTT service using ExternalService framework > > Hi Chris, > > You mean that you want to start a mqtt client in IoTDB to consume msg from > another external mqtt server? I'm afraid not. You need to start your client > in another process to consume msg and then construct them as Tablet, at > last you also need a session to insert that tablet into iotdb. > > > On Mon, Jan 26, 2026 at 5:59 PM Christofer Dutz <[email protected] > > > wrote: > > > Is it now possible to not start the internal mqtt service but start an > > mqtt client for consuming messages of an external mqtt server? > > > > Chris > > > > Gesendet von Outlook für Android<https://aka.ms/AAb9ysg> > > ________________________________ > > From: Christofer Dutz <[email protected]> > > Sent: Sunday, January 25, 2026 7:38:23 AM > > To: [email protected] <[email protected]> > > Subject: Re: Decoupling MQTT service using ExternalService framework > > > > Yay!!! > > > > Something I have been waiting for for years now :-) > > > > Thanks, > > Chris > > > > Gesendet von Outlook für Android<https://aka.ms/AAb9ysg> > > ________________________________ > > From: Yuan Tian <[email protected]> > > Sent: Tuesday, January 20, 2026 11:28:03 AM > > To: [email protected] <[email protected]> > > Subject: Re: Decoupling MQTT service using ExternalService framework > > > > Hi all, > > > > This pr has been merged. > > > > On Tue, Jan 20, 2026 at 8:50 AM <[email protected]> wrote: > > > > > Hi all, > > > > > > I'm writing to share a PR that refactors how we handle MQTT within the > > > codebase. > > > > > > We are splitting the MQTT functionality out of the main `iotdb-server` > > > module and migrating it to use the `ExternalService` framework. This > > > decoupling is a great step towards better modularity, keeping the core > > > server logic cleaner while making the MQTT service easier to maintain > and > > > extend independently. > > > > > > The changes cover the move to `external-service-impl/mqtt`, along with > > > necessary updates to the distribution packaging and CI workflows to > > support > > > this new structure. > > > > > > You can review the changes here: > > > https://github.com/apache/iotdb/pull/17042 > > > > > > Best regards, > > > -------------------- > > > Yuan Tian > > >
