API'ler için MQTT ne zaman HTTP yerine kullanılmalı?

Ashley Innocent

Ashley Innocent

13 March 2026

API'ler için MQTT ne zaman HTTP yerine kullanılmalı?

Kurumsal Apidog

Şirket İçi Dağıtım

SSO & RBAC

SOC 2 Uyumlu

Apidog Enterprise'ı Keşfet

TL;DR

Sınırlı bataryaya, güvenilir olmayan ağlara veya yayınla-abone ol (pub-sub) mesajlaşma modellerine sahip IoT cihazları için MQTT kullanın. Standart web/mobil API'leri için HTTP kullanın. MQTT, HTTP'nin 100+ baytlık başlıklarına kıyasla 2 baytlık başlıklar kullandığından, kısıtlı cihazlar için idealdir. Modern PetstoreAPI, evcil hayvan takip tasmaları ve akıllı mama makineleri için MQTT'yi uygulamaktadır.

Giriş

Evcil hayvan takip tasmanızın her 5 dakikada bir konum güncellemeleri göndermesi gerekiyor. 6 ay dayanması gereken bir düğme pille çalışıyor. HTTP kullanıldığında, pil 2 haftada bitiyor. MQTT kullanıldığında ise tam 6 ay dayanıyor.

HTTP, API'ler için standarttır, ancak IoT cihazları için değil, web tarayıcıları için tasarlanmıştır. MQTT (Mesaj Kuyruğu Telemetri Taşıması), sınırlı bant genişliğine ve güvenilir olmayan ağlara sahip kısıtlı cihazlar için geliştirilmiştir.

Modern PetstoreAPI, web ve mobil uygulamalar için HTTP, ancak IoT cihazları (evcil hayvan takip tasmaları, akıllı mama makineleri ve sağlık monitörleri) için MQTT kullanır.

💡
Eğer IoT API'leri geliştiriyor veya test ediyorsanız, Apidog HTTP'nin yanı sıra MQTT testini de destekler. Yayınla-abone ol modellerini test edebilir, mesaj formatlarını doğrulayabilir ve ağ hatalarını simüle edebilirsiniz.
düğme

Bu rehberde, MQTT'nin HTTP'yi ne zaman geride bıraktığını öğrenecek, Modern PetstoreAPI'den gerçek örnekler görecek ve kullanım durumunuz için doğru protokolü nasıl seçeceğinizi keşfedeceksiniz.

MQTT Nedir?

MQTT, IoT için tasarlanmış hafif bir yayınla-abone ol (pub-sub) mesajlaşma protokolüdür.

MQTT Nasıl Çalışır?

Cihazlar konulara (topic) mesajlar yayınlar. Diğer cihazlar konulara abone olur:

Yayıncı (Evcil Hayvan Tasması):
  Konu: pets/019b4132/location
  Yük: {"lat":37.7749,"lng":-122.4194,"battery":85}

Abone (Mobil Uygulama):
  Abone Olunan: pets/019b4132/location
  Alınan: {"lat":37.7749,"lng":-122.4194,"battery":85}

MQTT Broker, yayıncılardan abonelere mesajları yönlendirerek ortada durur.

Başlıca MQTT Özellikleri

1. Küçük başlıklar - MQTT: 2 bayt, HTTP: 100-500 bayt

2. Kalıcı bağlantılar - MQTT bağlantıları açık tutar

3. Hizmet Kalitesi (QoS) - Teslimat garantileri için QoS 0/1/2

4. Son İstek (Last Will) - Cihaz beklenmedik şekilde bağlantısı kesilirse gönderilen mesaj

5. Saklanan mesajlar (Retained messages) - Broker, yeni aboneler için son mesajı saklar

MQTT ve HTTP Karşılaştırması

Özellik MQTT HTTP
Başlık Boyutu 2 bayt 100-500 bayt
Desen Yayınla-Abone Ol İstek-Yanıt
Bağlantı Kalıcı İstek Başına
Bant Genişliği Çok düşük Daha yüksek
Batarya Etkisi Minimal Önemli
Tarayıcı Desteği WebSocket Üzerinden Yerel

Bant Genişliği Örneği

Günde 1000 konum güncellemesi:

MQTT, 8 kat daha az bant genişliği kullanır.

MQTT Ne Zaman Avantajlıdır?

1. Sınırlı Bataryaya Sahip IoT Cihazları

Evcil hayvan takip tasması:

Neden: Kalıcı bağlantı, küçük başlıklar, daha az radyo süresi.

2. Güvenilir Olmayan Ağlar

Kapsama alanı düzensiz olan hücresel IoT cihazları:

3. Çoktan Çoğa İletişim

Akıllı evcil hayvan mama makinesi senaryosu:

Mama Makinesi 1 → pets/019b4132/feeding
Mama Makinesi 2 → pets/019b4127/feeding
Uygulama 1 → pets/+/feeding (tüm evcil hayvanlar) konusuna abone olur
Uygulama 2 → pets/019b4132/feeding (bir evcil hayvan) konusuna abone olur

4. Gerçek Zamanlı Sensör Verileri

Evcil hayvan sağlık monitörü her saniye güncelleme gönderiyor:

HTTP Ne Zaman Avantajlıdır?

1. Standart Web/Mobil Uygulamalar

HTTP evrenseldir:

2. İstek-Yanıt Modelleri

Evcil hayvan detaylarını almak:

GET /pets/019b4132
200 OK
{"name":"Fluffy","species":"CAT"}

HTTP, istek-yanıt için daha basittir.

3. Önbellekleme Gereksinimleri

HTTP önbellekleme kutudan çıktığı gibi çalışır:

MQTT'de önbellekleme yoktur.

4. RESTful API'ler

HTTP durum kodları, metodları ve semantiği:

Modern PetstoreAPI MQTT'yi Nasıl Kullanıyor?

Modern PetstoreAPI, IoT cihazları için MQTT'yi uygulamaktadır.

Evcil Hayvan Takip Tasmaları

Tasma konumu yayınlar:

Konu: pets/019b4132/location
QoS: 1 (en az bir kez)
Yük: {
  "lat": 37.7749,
  "lng": -122.4194,
  "battery": 85,
  "timestamp": "2026-03-13T10:30:00Z"
}

Mobil uygulama abone olur:

const mqtt = require('mqtt');
const client = mqtt.connect('mqtts://mqtt.petstoreapi.com');

client.subscribe('pets/019b4132/location');

client.on('message', (topic, message) => {
  const location = JSON.parse(message);
  updateMap(location.lat, location.lng);
});

Akıllı Mama Makineleri

Mama makinesi programa abone olur:

Konu: pets/019b4132/feeding-schedule
Saklı: true
Yük: {
  "times": ["08:00", "18:00"],
  "amount": 100
}

Mama makinesi besleme olaylarını yayınlar:

Konu: pets/019b4132/feeding-events
Yük: {
  "timestamp": "2026-03-13T08:00:15Z",
  "amount": 100,
  "dispensed": true
}

Sağlık Monitörleri

Monitör hayati verileri yayınlar:

Konu: pets/019b4132/health
QoS: 0 (ateşle ve unut, yüksek frekans)
Yük: {
  "heartRate": 120,
  "temperature": 38.5,
  "activity": "resting"
}

Apidog ile MQTT Test Etme

Apidog, HTTP ve diğer protokollerin yanı sıra MQTT testini de destekler.

MQTT Yayınla-Abone Ol Testi

  1. MQTT broker'ına bağlanın
  2. Konulara abone olun
  3. Test mesajları yayınlayın
  4. Mesaj formatını doğrulayın
  5. QoS seviyelerini test edin

Ağ Hatalarını Simüle Etme

HTTP ile Karşılaştırma

Aynı işlevselliği her iki protokolle de test edin:

Sonuç

MQTT ve HTTP farklı amaçlara hizmet eder. Sınırlı kaynaklara sahip IoT cihazları için MQTT kullanın. Standart web/mobil API'leri için HTTP kullanın.

Modern PetstoreAPI, her ikisinin de nasıl kullanılacağını gösteriyor: kullanıcıya yönelik API'ler için HTTP, IoT cihazları için MQTT. Doğru protokol, "daha iyi" olan değil, kısıtlamalarınıza bağlıdır.

Kullanım durumunuz için en uygun olanı bulmak amacıyla her iki protokolü de Apidog ile test edin.

düğme

Sıkça Sorulan Sorular

MQTT, HTTP üzerinden çalışabilir mi?

MQTT, HTTP üzerinden çalışan WebSocket üzerinden çalışabilir. Bu, güvenlik duvarı geçişine yardımcı olur ancak bazı MQTT verimlilik avantajlarını kaybeder.

MQTT QoS seviyeleri nelerdir?

MQTT güvenli mi?

Evet, MQTT, TLS şifrelemesini (MQTTS) ve kullanıcı adı/şifre kimlik doğrulamasını destekler. Modern PetstoreAPI tüm IoT cihazları için MQTTS kullanır.

Tarayıcılar MQTT kullanabilir mi?

Tarayıcılar, WebSocket üzerinden MQTT kullanabilir. MQTT.js gibi kütüphaneler tarayıcı ortamlarını destekler.

MQTT WebSocket ile nasıl karşılaştırılır?

MQTT, WebSocket üzerinden çalışabilen bir protokoldür. WebSocket bir taşıma katmanıdır. MQTT, WebSocket üzerine yayınla-abone ol, QoS ve IoT'ye özel özellikler ekler.

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin

API'ler için MQTT ne zaman HTTP yerine kullanılmalı?