MQTT (MQ Telemetry Transport) adalah protokol pesan terbuka ringan yang menyediakan cara mudah untuk mengirimkan informasi telemetri ke klien jaringan dengan sumber daya terbatas di lingkungan bandwidth rendah. Protokol yang menggunakan pola komunikasi publish/subscribe digunakan untuk komunikasi machine-to-machine (M2M).
MQTT dirancang sebagai protokol overhead rendah yang menyeimbangkan bandwidth dan keterbatasan CPU. Dirancang untuk berjalan di lingkungan tertanam di mana ia dapat menyediakan jalur komunikasi yang andal dan efisien. MQTT cocok untuk menghubungkan perangkat dengan jejak kode kecil dan jaringan nirkabel pada berbagai tingkat latensi karena keterbatasan bandwidth.
Protokol ini memiliki aplikasi di industri otomotif hingga telekomunikasi. MQTT dimulai sebagai protokol berpemilik untuk berkomunikasi dengan sistem SCADA di industri minyak dan gas, tetapi populer di bidang perangkat pintar. Dan ekarang digunakan untuk menghubungkan Internet of Things. Protokol sumber terbuka untuk Perangkat Things (IoT) dan Industrial IoT (IIoT).
TT adalah singkatan dari Telemetry Transport, sedangkan MQ mengacu pada produk yang disebut IBM MQ. Notasi MQTT terkadang ditulis sebagai Message Queuing Telemetry Transport, tetapi tidak ada pesan yang mengantri dalam komunikasi MQTT.
Bagaimana cara kerja MQTT?
Model komunikasi publish/subscribe (Pub/Sub) MQTT bertujuan memaksimalkan bandwidth yang tersedia. Selain itu menjadi alternatif untuk arsitektur client-server tradisional yang berkomunikasi langsung dengan endpoint. Sebaliknya, dalam model Pub/Sub, klien yang mengirim pesan dipisahkan dari klien yang menerima pesan. Baik penerbit maupun pelanggan tidak memiliki kontak langsung satu sama lain, sehingga pihak ketiga (broker) menangani koneksi di antara mereka.
Klien MQTT termasuk penerbit dan pelanggan. Kedua fungsi ini dapat diimplementasikan di klien MQTT yang sama. Penerbitan adalah saat perangkat (atau klien) mengirim data ke server (atau broker). Ketika operasi dibalik, itu disebut berlangganan. Model Pub/Sub memungkinkan banyak klien untuk terhubung ke broker dan berlangganan topik yang menarik.
Jika klien yang berlangganan kehilangan konektivitas ke broker, broker menyangga pesan dan mengirimkannya ke pelanggan saat kembali online. Jika koneksi dari klien penerbitan ke broker hilang tanpa pemberitahuan, broker dapat menutup koneksi dan mengirim pesan cache berisi instruksi dari penerbit kepada pelanggan.
IBM menjelaskan model Pub/Sub sebagai berikut:
"Penerbit mengirim berita, pelanggan mendapatkan berita yang menarik, dan broker mengarahkan berita dari penerbit ke pelanggan. Penerbit dan pelanggan adalah klien MQTT yang hanya berkomunikasi dengan broker MQTT. Klien MQTT. dapat berupa perangkat atau aplikasi apa pun yang menjalankan perpustakaan MQTT, dari mikrokontroler seperti Arduino untuk melengkapi server aplikasi yang dihosting di cloud."
Apa itu MQTT Broker?
Broker MQTT bertindak sebagai perantara antara klien yang mengirim pesan dan pelanggan yang menerima pesan tersebut. Dalam analogi kantor pos, broker adalah kantor pos itu sendiri, dan semua pesan harus melewati broker sebelum dikirimkan ke pelanggan.
Broker mungkin perlu menangani jutaan klien MQTT yang terhubung secara bersamaan, jadi ketika memilih broker MQTT, perusahaan mengevaluasi mereka berdasarkan skalabilitas, integrasi, pemantauan, dan ketahanan diperlukan.
Apa keuntungan menggunakan MQTT?
Fitur ringan dan overhead minimal arsitektur protokol MQTT berkontribusi pada transfer data yang lancar pada bandwidth rendah dan menurunkan beban CPU dan RAM. Keuntungan MQTT dibandingkan protokol yang bersaing meliputi:
- Menjadi protokol yang ringan, memungkinkan transfer data yang efisien dan implementasi yang cepat.
- Paket data diminimalkan, menghasilkan lebih sedikit penggunaan jaringan.
- Distribusi data yang efisien;
- Keberhasilan implementasi penginderaan jauh dan kontrol.
- Pesan cepat dan efisien.
- Konsumsi daya yang rendah membuatnya cocok untuk perangkat yang terhubung.
- Optimalkan bandwidth jaringan.