MQTT broker hosting, kendiniz yapılandırdığınız tek bir sanal sunucudan kendi bulut hesabınızın içinde çalışan tam yönetilen bir broker'a kadar uzanır. Bu karşılaştırma beş yaygın seçeneği adım adım ele alıyor, her birinin gerektirdiği gerçek işi gösteriyor ve projeniz için bugün doğru olanı, yarın gitmesi gereken yönü engellemeden seçmenize yardımcı olacak bir kontrol listesiyle bitiyor.
Beş Yaygın MQTT Broker Hosting Seçeneği
- Bir VPS'te veya şirket içi sunucuda kendi barındırma, genellikle Mosquitto ile.
- Kubernetes üzerinde kendi barındırma, konteynerlerde açık kaynak bir broker kullanarak.
- Yönetilen serverless, hizmet olarak tükettiğiniz paylaşımlı, çok kiracılı bir broker.
- Yönetilen dedicated, bir sağlayıcı tarafından işletilen izole bir broker kümesi.
- BYOC (bring your own cloud), kendi bulut hesabınızda çalışan, sağlayıcı tarafından işletilen bir broker.
Altıncı bir varyant olan, kurumsal lisansla kendiniz kurup işlettiğiniz üretici yazılımı, 1. ve 5. seçenekler arasında yer alır.
Yan Yana Karşılaştırma
| Mosquitto'lu VPS | Kubernetes | Yönetilen serverless | Yönetilen dedicated | BYOC | |
|---|---|---|---|---|---|
| İlk bağlantıya kadar geçen süre | Tek sunucu için hızlı | Daha uzun; küme kurulumu gerekir | Dakikalar, self-servis | Sağlayıcıyla kapsamlandırma gerekir | Kapsamlandırma ve bulut hesabı hazırlığı gerekir |
| Yamaları ve yükseltmeleri kim yapar | Siz | Siz | Sağlayıcı | Sağlayıcı | Sağlayıcı |
| TLS sertifikalarını kim yönetir | Siz | Siz | Sağlayıcı | Sağlayıcı | Sağlayıcı |
| Diğer kiracılardan izolasyon | Tam | Tam | Mantıksal, paylaşımlı altyapı | Tam | Tam |
| Altyapı sahipliği | Siz | Siz | Sağlayıcı | Sağlayıcı | Siz |
| Ölçekleme eforu | Elle yeniden boyutlandırma | Elle, küme farkındalığıyla | Plan seçimi | Sağlayıcıyla boyutlandırılır | Sağlayıcıyla boyutlandırılır |
| Gereken şirket içi beceriler | Linux, ağ, TLS | Kubernetes, ağ, TLS | MQTT istemcileri | MQTT istemcileri | Bulut hesabı yönetimi |
| En uygun olduğu durum | Laboratuvarlar, küçük tek sahalı sistemler | Zaten Kubernetes çalıştıran ekipler | Prototiplerden orta ölçekli filolara | İzolasyon gerektiren üretim filoları | Sıkı veri kontrolü veya mevcut bulut altyapısı |
Seçenek 1: Mosquitto ile VPS veya Şirket İçi Sunucu
Eclipse Mosquitto hafif, iyi belgelenmiş ve başlaması kolaydır. TLS ve parola kimlik doğrulaması içeren, üretim odaklı minimal bir yapılandırma şöyle görünür:
# /etc/mosquitto/conf.d/production.conf
per_listener_settings true
listener 8883
certfile /etc/letsencrypt/live/mqtt.example.com/fullchain.pem
keyfile /etc/letsencrypt/live/mqtt.example.com/privkey.pem
allow_anonymous false
password_file /etc/mosquitto/passwd
listener 8084
protocol websockets
certfile /etc/letsencrypt/live/mqtt.example.com/fullchain.pem
keyfile /etc/letsencrypt/live/mqtt.example.com/privkey.pem
allow_anonymous false
password_file /etc/mosquitto/passwd
sudo apt install -y mosquitto mosquitto-clients
sudo mosquitto_passwd -c /etc/mosquitto/passwd device01
sudo systemctl restart mosquitto
Bu sizi başlatır. İnsanların hafife aldığı şey süregelen iştir: sertifikaları yenilemek ve broker'ı yeniden yüklemek, işletim sistemi ve broker güvenlik güncellemelerini uygulamak, disk ve belleği izlemek, dosya tanımlayıcı limitlerini yükseltmek, parola dosyasının yedeklerini yönetmek, kaba kuvvet giriş denemeleriyle başa çıkmak ve tek sunucu çöktüğünde ne olacağını planlamak.
Artıları: tam kontrol, düşük doğrudan maliyet, yerel ağda çevrimdışı çalışır. Eksileri: nöbetçi ekip sizsiniz; tek sunucu tek bir arıza noktasıdır; güvenlik tamamen sizin sorumluluğunuzdadır.
Seçenek 2: Kubernetes
Kuruluşunuz zaten Kubernetes çalıştırıyorsa, broker'ı orada dağıtmak doğal gelir. Bildirimsel yapılandırma, kademeli güncellemeler (rolling update) ve mevcut izleme sistemleriyle entegrasyon elde edersiniz.
Sorun şu ki MQTT durum bilgili, uzun ömürlü bağlantılara dayanan bir protokoldür; Kubernetes ise en iyi performansını durumsuz istek-yanıt servislerinde gösterir. HTTP ingress yerine TCP yük dengelemesine, kademeli güncellemelerin tüm istemcileri aynı anda koparmaması için dikkatli pod disruption budget'lara, oturum kalıcılığı istiyorsanız kalıcı birimlere ve seçtiğiniz broker'ın pod'lar yeniden planlandığında nasıl davrandığını anlamaya ihtiyacınız vardır. Kubernetes üzerinde MQTT broker rehberimiz bu ayrıntıları ele alıyor.
Artıları: mevcut platform araçlarına uyar, kod olarak altyapı, tam kontrol. Eksileri: ciddi operasyonel uzmanlık gerektirir; rutin işlemler sırasında yıkıcı yeniden bağlanma fırtınaları yaratmak kolaydır.
Seçenek 3: Yönetilen Serverless
Serverless bir broker, güvenli bir uç noktaya ulaşmanın en hızlı yoludur. Kaydolur, bir broker oluşturur ve bir hostname, portlar ve kimlik bilgileri alırsınız. Sağlayıcı paylaşımlı, çok kiracılı bir küme çalıştırır ve kiracıları izole tutmak için plan başına kotalar uygular.
ConnectMQ'nun Serverless planları buna bir örnektir:
- Serverless (Free): 25'e kadar bağlantı, QoS 1'e kadar, 256 KB mesajlar.
- Serverless (Paid): 1.000'e kadar bağlantı, QoS 2, 1 MB mesajlar, shared subscription.
Her ikisi de /mqtt yoluyla TCP 1883, TLS 8883, WebSocket 8083 ve Secure WebSocket 8084 üzerinden MQTT 3.1.1 ve 5.0'ı destekler ve hazır bir Let's Encrypt sertifikasıyla gelir. Bağlanmak herhangi bir broker'la aynıdır:
mosquitto_sub -h broker.connectmq.com -p 8883 --capath /etc/ssl/certs \
-u YOUR_USERNAME -P YOUR_PASSWORD -i YOUR_CLIENT_ID \
-t "acme/#" -v -V mqttv5
Artıları: dakikalar içinde başlangıç, sunucu yok, güvenlik varsayılanları hazır, portal araçları dahil. Eksileri: paylaşımlı altyapı, sabit plan limitleri, konum ve ince ayar üzerinde daha az kontrol.
Daha fazlası için serverless MQTT broker yazısını okuyun.
Seçenek 4: Yönetilen Dedicated
Dedicated bir kurulum, başka hiçbir müşterinin kullanmadığı, yine sağlayıcı tarafından işletilen izole bir broker kümesi sunar. Diğer kiracılardan etkilenmeyen öngörülebilir performans istediğiniz ve iş yükünün paylaşımlı plan limitlerini aştığı üretim sistemlerine uygundur. Beklenen bağlantıları, mesaj hızlarını ve payload boyutlarını tarif edersiniz ve kurulum buna göre boyutlandırılır.
Artıları: izolasyon, sağlayıcının yürüttüğü operasyonlar, iş yükünüze göre boyutlandırma. Eksileri: paylaşımlı planlardan daha yüksek maliyet; kurulum self-servis kayıttan daha uzun sürer.
Ayrıntılar için dedicated MQTT broker yazısına bakın.
Seçenek 5: BYOC
Bring your own cloud modelinde broker, sizin faturalandırmanız, ağ kontrolleriniz ve güvenlik politikalarınız altında kendi bulut hesabınızda çalışır; sağlayıcı ise onu dağıtır ve işletir. Sıkı veri kontrolü gereksinimleri olan veya tüketicilerin zaten bulunduğu geniş bir bulut altyapısına sahip kuruluşlara uygundur.
Artıları: sizin altyapınız ve veri yolunuz, sağlayıcının yürüttüğü operasyonlar, diğer sistemlerinizin yanında konumlanma. Eksileri: bulut faturasını siz ödersiniz ve sağlayıcı erişimini vermek ve yönetmek zorundasınız; kurulumda daha fazla koordinasyon gerekir.
BYOC MQTT broker yazımız bu modeli ve gerektirdiği hesap hazırlığını açıklıyor.
Hiçbir Seçeneğin Değiştirmediği Şeyler
Hangi barındırma modelini seçerseniz seçin, bazı şeyler sizde kalır:
- Cihaz firmware'i, yeniden bağlanma mantığı ve yerel tamponlama.
- Topic isim alanı tasarımı.
- Payload formatları ve doğrulama.
- Geçmişi saklamak ve diğer sistemlerle entegrasyon; genellikle MQTT istemcisi olarak bağlanan bir abone servisi, Node-RED veya Telegraf ile.
- Mesaj türü başına QoS seviyelerini seçmek.
MQTT bir standart olduğu için, tescilli uzantılardan kaçındığınız sürece barındırma modelleri arasında geçiş çoğunlukla istemcilerinizdeki hostname ve kimlik bilgilerini değiştirmek anlamına gelir.
Nasıl Seçilir: Bir Hosting Kontrol Listesi
Bu soruları sırayla yanıtlayın. Açıkça geçerli olan ilk soru genellikle barındırma modelini belirler.
- Bu bir öğrenme çalışması veya demo mu? Herkese açık MQTT test broker'ını kullanın ve barındırmayı tamamen atlayın.
- Broker internetsiz bir yerel ağda mı çalışmalı? Şirket içinde kendiniz barındırın veya self-managed bir kurumsal seçeneği değerlendirin.
- Veri sahibi olduğunuz bulut hesaplarının içinde mi kalmalı? BYOC'yi seçin.
- Diğer kiracılardan izolasyona veya paylaşımlı planların ötesinde boyutlandırmaya mı ihtiyacınız var? Dedicated bir kurulum seçin.
- Zaten Kubernetes işletiyor ve broker'ı aynı platformda mı istiyorsunuz? Operasyonel yükü kabul ederek Kubernetes üzerinde kendiniz barındırın.
- Aksi hâlde: yönetilen serverless ile başlayın ve bağlantılar ile gereksinimler büyüdükçe üst seviyelere geçin.
Ayrıca yalnızca aylık fiyatı değil toplam maliyeti de tartın. Yama, sertifika yenileme, olay müdahalesi ve yükseltmeler için harcanan mühendislik zamanı, kendi barındırılan seçeneklerde gerçek bir maliyettir. MQTT broker toplam sahip olma maliyeti ve kendi barındırılan ve yönetilen MQTT broker karşılaştırması yazıları bu karşılaştırmayı derinleştiriyor; bulut MQTT broker rehberi ise tam bir genel bakış sunuyor.
ConnectMQ'nun Yeri
ConnectMQ bu tablonun yönetilen tarafını kapsar: hızlı başlangıçlar ve büyüyen filolar için Serverless (Free ve Paid), izole kümeler için Dedicated, kendi bulut hesabınızdaki broker'lar için BYOC ve broker'ı kendisi işletmesi gereken kuruluşlar için Self Managed Enterprise. Hepsi aynı standart MQTT'yi konuşur; böylece küçük başlayabilir ve cihazlarınızı yeniden tasarlamadan bu yelpazede ilerleyebilirsiniz.
MQTT Broker'ınızı ConnectMQ'da Barındırmaya Başlayın
app.connectmq.com adresinde kredi kartı gerekmeden ücretsiz bir Serverless broker oluşturun ve ilk cihazınızı dakikalar içinde bağlayın. İzolasyona veya broker'ın nerede çalışacağı üzerinde kontrole ihtiyaç duyduğunuzda Dedicated veya BYOC için ekiple görüşün. Önce daha geniş bir giriş istiyorsanız tam yönetilen bir MQTT servisi seçimi hakkında okuyun.
Sık Sorulan Sorular
Bir MQTT broker'ı barındırmanın en ucuz yolu nedir?
Ücretsiz bir yönetilen plan veya küçük, kendi barındırdığınız bir Mosquitto sunucusu en düşük doğrudan harcamayı gerektirir. Kendi barındırma; yama, sertifikalar ve izleme için kendi zamanınızı da ekler ve bu çoğu zaman sunucu maliyetinden ağır basar.
Üretim için Mosquitto'yu bir VPS'te barındırabilir miyim?
Evet; TLS, kimlik doğrulama, izleme ve güncellemeler ile arızalar için bir planla. Birçok ekip bu şekilde başlar ve operasyonel yük arttığında yönetilen bir broker'a geçer.
Kubernetes bir MQTT broker çalıştırmak için iyi bir yer mi?
Ekibiniz zaten Kubernetes'i iyi işletiyorsa olabilir. MQTT'nin uzun ömürlü bağlantıları, toplu yeniden bağlanmaları önlemek için TCP yük dengelemesi ve dikkatli kademeli güncellemeler gerektirir.
Dedicated ve BYOC hosting arasındaki fark nedir?
Her ikisi de sağlayıcı tarafından işletilen izole bir broker sunar. Dedicated sağlayıcının altyapısında, BYOC ise kendi bulut hesabınızda çalışır.



