MQTT Broker


Merhaba bu yazımızda MQTT Broker nedir ve nasıl çalışır sorularına cevap vereceğiz ve MQTT Brokerların listesini yapmaya çalışacağız.

MQTT Broker Nedir?

MQTT Broker ilk olarak 1999 yılında yayınlanan ve geliştirilmesine devam edilen Soket yapısıdır. MQTT (Message Queuing Telemetry Transport) Mesaj Kuruğu Veri Aktarımı olarak çevrilebilir. MQTT küçük veri paketleri ile mesajı gönderen ve mesajı alan arasında TCP/IP (Transmission Control Protocol) socket yapısını kullanarak veri aktarılmasını sağlar. Diğer iletişim protokollerine göre hafif (Lightweight) yapıdadır. Mesajı gönderen ve mesajı alan arasındaki köprüyü oluşturan ise Broker (Komisyoncu)  denilen sunucu yazılımıdır. Broker sunucuda, kişisel bilgisayarınızda veya gömülü bir cihaz (Raspberry Pi, Latte Panda, Arduino, ESP) da olabilir.

MQTT Broker Nasıl Çalışır? 

MQTT Socket, tek bir TCP/IP bağlantısı üzerinden tam çift yönlü iletişim kanalları sağlayan bir bilgisayar ağları iletişim protokolüdür. Broker sunucu üzerinde sürekli çalışır durumdadır. Kendisine bağlanmak isteyen Yayıncı (Publisher) ve Abone olan (Subscriber) ile socket bağlantısı kurar. Standart TCP portu 1883 dür. Subscriber çalıştırıldığında Broker a 1883 nolu port üzerinden bağlanır ve bu bağlantı kapatılmadıkça açık kalır. Publisher mesaj göndermek istediğinde Broker a bağlanır ve mesajını Broker a gönderir. Broker da Subscriber a iletir. 


MQTT Broker ın 3 farklı çalışma modu vardır. Bu 3 bağlantıda güvenlidir ancak mesajın karşı tarafa iletilmesi için gerekli kontrolleri bulunmaktadır. 



1- QOS0 : En az veri trafiği QOS0 modunda kullanılmaktadır. Publisher dan gelen mesajın Subscriber a kontrolsüz bir şekilde gönderilmesini sağlar. Herhangi bir kontrol işlemi gerçekleştirilmez.

2- QOS1 : Gönderilen mesajın Subscriber a ulaşması ile geriye bir mesaj döner. Bu durumda en az 1 kere mesaj iletilmiş olur.

3- QOS2 : Publisher ın gönderdiği mesaj Subscriber a gelir ve geriye iletim mesajı iletilir, Publisher tekrar mesajın doğru bir şekilde gidip gitmadiğini sorarak Subscriber den 2. bir onay istenir.



Public MQTT Broker Server Listesi

MQTT organizasyonunun ve şirketlerin oluşturduğu birçok MQTT Broker bulunmaktadır. Bunlardan bazılarını indirip sunucuda, kişisel bilgisayarınızda veya gömülü bir cihaz (Raspberry Pi, Latte Panda, STM, Nucleo, Arduino, ESP vb.) üzerinde çalıştırabileceğiniz gibi bazılarıda sadece şirketlerin cloud servislerinde SAAS olarak çalışmaktadır.


Popüler Public MQTT Broker Listesi

Şirket Versiyonu Broker Adresi
AWS v3.1.1 aws.amazon.com
Eclipse Mosquitto v5.0 test.mosquitto.org
HiveMQ v5.0 broker.mqttdashboard.com
EMQX v5.0 broker.emqx.io
CloudMQTT v3.1.1 m13.cloudmqtt.com
Mosca/Aedes v3.1 - v3.1.1 test.mosca.io
IIoTMQ v5.0 publicmqttbroker.iiotmq.com