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
> >
>

Reply via email to