# MQTT - Scale Out Architecture

**URL:** <https://forum.inductiveautomation.com/t/mqtt-scale-out-architecture/88630>\
**Category:** Ignition\
**Created:** [April 10, 2024, 12:59pm UTC](https://forum.inductiveautomation.com/t/mqtt-scale-out-architecture/88630 "2024-04-10T12:59:47Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mariano\_Cepeda](https://avatars.discourse-cdn.com/v4/letter/m/7bcc69/32.png) [@Mariano\_Cepeda](https://forum.inductiveautomation.com/u/Mariano_Cepeda)\
**Post date:** [April 10, 2024, 12:59pm UTC](https://forum.inductiveautomation.com/t/mqtt-scale-out-architecture/88630/1 "2024-04-10T12:59:47Z")

</div>

Hi guys, We are currently running a scale out architecture process, but I have certain doubts:

We already could communicate the tag providers from the Backend to the Front End, also we know that We need to have connections to our database server ( in the front end only to search for data, and in the backend only to insert data, let me know if Im right).

Well, but my bigger doubt is because we have a rabbit MQ broker, but we have the MQTT Module only on the backend gateway, I´m issuing how to communicate the information from the frontend to the mqtt broker, at this time I´m sending all the information via Tags.

We are going to have two backend servers and one front end servers.

---

<div class="post-metadata">

**Author:** ![michael.flagler](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/michael.flagler/32/26272_2.png) [@michael.flagler](https://forum.inductiveautomation.com/u/michael.flagler)\
**Post date:** [April 10, 2024, 2:46pm UTC](https://forum.inductiveautomation.com/t/mqtt-scale-out-architecture/88630/2 "2024-04-10T14:46:25Z")

</div>

If you're stuck with Rabbit MQ and use Sparkplug B, you'll need to look up the quirks on Rabbit MQ compatiblity with SparkplugB as I believe Rabbit MQ reserves the use of dots "." which SparkplugB uses. If you're not stuck, look at others like EMQx or Mosquitto as they'll save a lot of headache.

---

<div class="post-metadata">

**Author:** ![Adriano\_Generoso\_da](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/adriano_generoso_da/32/43895_2.png) [@Adriano\_Generoso\_da](https://forum.inductiveautomation.com/u/Adriano_Generoso_da)\
**Post date:** [April 10, 2024, 6:25pm UTC](https://forum.inductiveautomation.com/t/mqtt-scale-out-architecture/88630/3 "2024-04-10T18:25:08Z")

</div>

Other solution you can create a message handle into backend server and send this message to the publish script.

Frontend: Send a system.util.sendMessage or sendRequest to the backend with the json of the data to send.

Backend is listening the message, and get this json, and execute the MQTT script to publish the data.

---

<div class="post-metadata">

**Author:** ![Mariano\_Cepeda](https://avatars.discourse-cdn.com/v4/letter/m/7bcc69/32.png) [@Mariano\_Cepeda](https://forum.inductiveautomation.com/u/Mariano_Cepeda)\
**Post date:** [April 15, 2024, 6:43pm UTC](https://forum.inductiveautomation.com/t/mqtt-scale-out-architecture/88630/4 "2024-04-15T18:43:00Z")

</div>

The issue is that the system which is going to receive the data does not accept dots on the topic.

Thanks

---

<div class="post-metadata">

**Author:** ![Mariano\_Cepeda](https://avatars.discourse-cdn.com/v4/letter/m/7bcc69/32.png) [@Mariano\_Cepeda](https://forum.inductiveautomation.com/u/Mariano_Cepeda)\
**Post date:** [April 15, 2024, 6:43pm UTC](https://forum.inductiveautomation.com/t/mqtt-scale-out-architecture/88630/5 "2024-04-15T18:43:20Z")

</div>

Nice, it works well
