Yönetilen MQTT Bulutu

HiveMQ Cloud Alternatifi: Yönetilen MQTT Broker'ları Adil Biçimde Karşılaştırma Çerçevesi

Yönetilen MQTT hizmetlerini karşılaştırmak için tarafsız bir çerçeve: protokol desteği, sınırlar, endüstriyel özellikler, araçlar ve taşınabilirlik açısından neleri kontrol etmeniz gerektiği; ayrıca standartlara dayalı her broker'a karşı değiştirilmeden çalışan bir test betiği.

Birkaç yönetilen MQTT broker'ın aynı kriterlere göre puanlandığı, HiveMQ Cloud alternatifi seçimi için karşılaştırma tablosu illüstrasyonu
Bunu kendi MQTT broker’ınızda çalıştırınFree planla özel, yönetilen bir MQTT broker alın ve hazır kod örnekleriyle başlayın.
Ücretsiz deneyin Kod örnekleri Kart gerekmez

Bir HiveMQ Cloud alternatifi araştırıyorsanız elinizdeki en faydalı şey, yönetilen MQTT broker'larını karşılaştırmanın adil ve tekrarlanabilir bir yoludur. Bu makale size o çerçeveyi sunuyor: önemli olan kriterleri, her birini kendiniz nasıl test edeceğinizi ve ConnectMQ'nun her noktada nerede durduğunu; böylece kararınızı pazarlama sayfalarına değil gereksinimlerinize dayandırabilirsiniz.

Bağlamıyla HiveMQ

HiveMQ, MQTT dünyasının en tanınmış isimlerinden biridir. Şirket kurumsal bir broker ve yönetilen bir bulut hizmeti sunar; ayrıca protokol hakkında çok okunan eğitim materyalleri yayımlamıştır. Birçok mühendis MQTT'yi ilk olarak bu kaynaklardan öğrendi. Bir alternatif aramak HiveMQ'da bir sorun olduğu anlamına gelmez; ekipler sağlayıcıları birçok nedenle karşılaştırır: fiyatlandırma modelinin uygunluğu, dağıtım seçenekleri, verinin konumu, endüstriyel özellikler ya da uzun bir sözleşme öncesi basit bir durum tespiti.

Her yönetilen hizmetin planları, sınırları ve özellikleri zamanla değişir. Bu dahil her karşılaştırmayı bir başlangıç noktası olarak görün ve karar vermeden önce her tedarikçinin güncel dokümantasyonunu ve koşullarını kontrol edin.

Karşılaştırma Çerçevesi

Her sağlayıcıyı aynı kriterlere göre puanlayın. Sağdaki sütun, somut bir referans noktanız olsun diye kendi belgelenmiş yeteneklerimizi gösteriyor.

Kriter Her sağlayıcıda neyi kontrol etmeli ConnectMQ
Protokol sürümleri MQTT 3.1.1 ve 5.0 ile hangi MQTT 5 özelliklerinin uygulandığı MQTT 3.1.1 ve 5.0
Taşıma katmanları TCP, TLS, WebSocket, Secure WebSocket ve portları 1883, 8883 (TLS), 8083 (WS), 8084 (WSS, path /mqtt)
Ücretsiz katman Bağlantı sayısı, QoS, mesaj boyutu, kart gerekip gerekmediği Serverless (Free): 25 bağlantıya kadar, QoS 1'e kadar, 256 KB mesajlar, kredi kartı yok
Ücretli paylaşımlı katman Sınırlar ve açılan özellikler Serverless (Paid): 1.000 bağlantıya kadar, QoS 2, 1 MB mesajlar, shared subscription'lar
İzolasyon seçenekleri Dedicated kümeler, özel ağ, kendi bulut hesabınız Dedicated, BYOC, Self Managed Enterprise
Kimlik doğrulama Kullanıcı adı/parola, istemci sertifikaları, token tabanlı seçenekler Üretilmiş kullanıcı adı, parola ve kimlik bilgilerine bağlı client ID
Endüstriyel veri Sparkplug B farkındalığı, Unified Namespace desteği ISA-95/UNS topic'lerini tespit eder, Sparkplug B'yi çözümler, ISA-95 topic'lerine yeniden yayınlar
Yerleşik araçlar Web istemcisi, topic tarayıcısı, dashboard'lar, alarmlar Tarayıcı içi istemci, canlı topic gezgini, dashboard, ISA-95 cihaz görünümü, eşik alarmları
Entegrasyonlar Veritabanlarına, akışlara, bulut hizmetlerine yerel bağlayıcılar Node-RED, Telegraf ya da kendi abonelerinizdeki gibi harici MQTT istemcileri aracılığıyla
Operasyon garantileri Yayımlanmış SLA, destek koşulları, durum sayfası Güncel koşulları tedarikçiyle kontrol edin

Entegrasyonlar satırına dikkat edin. Bazı sağlayıcılar yerel veri bağlayıcıları ya da eklentiler içerir; bizim broker'ımız ise bilinçli olarak broker'ı yalın tutar ve standart MQTT istemcileriyle entegrasyon yapmanıza izin verir. Bunun bir güç mü yoksa bir eksik mi olduğu, Node-RED gibi araçları ya da bir zaman serisi veri hattını zaten çalıştırıp çalıştırmadığınıza bağlıdır.

Kriterlerin Ayrıntıları

Protokol Bütünlüğü

Hem MQTT 3.1.1 hem MQTT 5.0 desteklenmelidir. Shared subscription'lar, message expiry, topic alias'ları ya da response topic'leri gibi MQTT 5 özelliklerini kullanmayı planlıyorsanız, yalnızca "MQTT 5 desteklenir" ifadesine değil, satın alacağınız plan üzerinde her birine açıkça bakın. MQTT 5 özellikleri makalesi hangi özelliklerin hangi kullanım senaryoları için önemli olduğunu açıklıyor.

Ücretsiz Katman ve Plan Adımları

Ücretsiz bir katman ancak gerçek cihazlarla ve gerçek TLS ile test yapmanıza izin veriyorsa değerlidir. Bağlantı sayısına, maksimum QoS ve mesaj boyutuna ve hostname ya da kimlik bilgilerini değiştirmeden yükseltme yapıp yapamayacağınıza bakın. MQTT broker ücretsiz katman rehberi nelere bakmanız gerektiğini listeliyor.

Fiyatlandırma Modelinin Uygunluğu

Sağlayıcılar bağlantılara, mesajlara, trafiğe, küme boyutuna ya da bunların bir karışımına göre fiyatlandırır. Bunların hiçbiri doğası gereği daha iyi değildir; önemli olan iş yükünüzün nasıl büyüdüğüdür. Çok sayıda sessiz sensörden oluşan bir filo, birkaç konuşkan makineden çok farklı davranır. Önümüzdeki yıl için beklenen bağlantılarınızı ve mesaj hızınızı modelleyin ve her sağlayıcıyı güncel yayımlanmış fiyatlarıyla bu profile göre fiyatlandırın.

Endüstriyel ve Sparkplug Kullanımı

İmalat alanında çalışıyorsanız bir broker'ın Sparkplug B payload'larını nasıl ele aldığını kontrol edin. Bir broker Protobuf baytlarını her durumda iletir, ancak bunları çözümleyip gösteren araçlar çok fazla hata ayıklama süresi kazandırır. ConnectMQ, Sparkplug B'yi (Protobuf veya JSON) çözümler ve ISA-95 topic'lerine yeniden yayınlayabilir; örneğin spBv1.0/factory1/DDATA/line1/cnc1 topic'ini connectmq/factory1/production/line1/cnc1/telemetry topic'ine. Arka plan için MQTT Sparkplug B ve Unified Namespace yazısına bakın.

Operasyon ve Görünürlük

İkinci gün operasyonları kayıt akışından daha önemlidir. Bir cihaz hatalı davrandığında hangi istemcilerin bağlı olduğunu, hangi topic'lerin aktif olduğunu ve payload'ların nasıl göründüğünü nasıl göreceğinizi sorun. Yerleşik bir web istemcisi ve canlı topic tarayıcısı, hata ayıklama sırasında birçok geçici aracın yerini alabilir. Bağlantı durumunun kendi izleme sisteminizin tüketebileceği bir biçimde sunulup sunulmadığını kontrol edin; örneğin bizim broker'ımızda bir istemcinin durumu $SYS/broker/connection/{clientId}/state üzerinde yayınlanır. Son olarak, hizmetin hatalı davranan istemcilere karşı hem kendini hem sizi nasıl koruduğuna bakın: kotalar, flood koruması ve tekrarlanan başarısız girişlerin engellenmesi, hatalı bir firmware sürümünün etki alanını daraltır.

Dağıtım Modeli

Paylaşımlı serverless kümeler başlamak için hızlı ve ucuzdur. Daha büyük ya da regülasyona tabi projeler izole bir dedicated kümeye, kendi bulut hesapları içinde bir dağıtıma ya da kendi yönetimlerinde bir seçeneğe ihtiyaç duyabilir. Her sağlayıcının bunlardan hangilerini sunduğunu ve, daha da önemlisi, cihaz yapılandırmasını değiştirmeden bunlar arasında geçiş yapıp yapamayacağınızı kontrol edin.

Taşınabilirlik

Yanlış bir karara karşı en iyi koruma, onu değiştirebilme yeteneğidir. Standart özelliklerle standart MQTT istemcileri kullanmanıza izin veren sağlayıcıları tercih edin; böylece ileride yapılacak bir taşıma yalnızca bağlantı ayarlarını değiştirir.

Her Broker'ı Aynı Betikle Test Edin

Her adaya karşı birebir aynı testi çalıştırın. Bu MQTT.js v5 betiği MQTT 5 ile bağlanır, abone olur, QoS 1 ile yayın yapar, gidiş-dönüş süresini ölçer ve hata durumunda sunucunun reason code'unu yazdırır:

// npm install mqtt
const mqtt = require("mqtt");

const url = process.env.MQTT_URL || "mqtts://broker.connectmq.com:8883";
const topic = process.env.MQTT_TOPIC || "connectmq/demo/a91c/rtt";

const client = mqtt.connect(url, {
  clientId: process.env.MQTT_CLIENT_ID || "eval-a91c-js",
  username: process.env.MQTT_USERNAME,
  password: process.env.MQTT_PASSWORD,
  protocolVersion: 5,
  connectTimeout: 10_000,
});

let sentAt = 0;
let count = 0;

client.on("connect", () => {
  console.log("Connected to", url);
  client.subscribe(topic, { qos: 1 }, (err) => {
    if (err) return console.error("Subscribe failed:", err.message);
    sendNext();
  });
});

function sendNext() {
  sentAt = Date.now();
  client.publish(topic, JSON.stringify({ n: count, t: sentAt }), { qos: 1 });
}

client.on("message", (_topic, payload) => {
  const rtt = Date.now() - sentAt;
  console.log(`Message ${count} round trip: ${rtt} ms`);
  count += 1;
  if (count < 10) setTimeout(sendNext, 500);
  else client.end();
});

client.on("error", (err) => {
  console.error("Error:", err.message, err.code ?? "");
  client.end();
});

Önce public test broker'a karşı, ardından yalnızca ortam değişkenlerini değiştirerek her sağlayıcının özel uç noktasına karşı çalıştırın:

node rtt.js
MQTT_URL=mqtts://broker.connectmq.com:8883 MQTT_USERNAME=YOUR_USERNAME \
MQTT_PASSWORD=YOUR_PASSWORD MQTT_CLIENT_ID=YOUR_CLIENT_ID \
MQTT_TOPIC=eval/rtt node rtt.js

Testi cihazlarınızın gerçekte bulunduğu yerden çalıştırın. Ofisinizden ölçülen gecikme, uzak bir sahadan ölçülecek gecikme hakkında pek bir şey söylemez.

Bir Puanlama Kontrol Listesi

  1. Olmazsa olmaz gereksinimlerinizi listeleyin (örneğin QoS 2, Sparkplug çözümleme, dedicated küme).
  2. Güncel dokümantasyonuna göre bir olmazsa olmazı karşılamayan her sağlayıcıyı eleyin.
  3. Test betiğini kalan sağlayıcılara karşı cihazlarınızın bulunduğu konumlardan çalıştırın.
  4. En az bir gün boyunca gerçek bir cihaz ya da gateway bağlayın ve bağlantı kopmalarını izleyin.
  5. Operasyon araçlarını kontrol edin: ek yazılım olmadan canlı topic'leri ve bağlantı durumunu görebiliyor musunuz?
  6. Bir yıllık iş yükünüzü her sağlayıcının güncel fiyat listesine göre fiyatlandırın.
  7. Çıkış yolunu doğrulayın: cihazları host, port ve kimlik bilgilerini değiştirerek taşıyabilir misiniz?

Ücretsiz Bir Broker'ı Referans Noktanız Yapın

ConnectMQ ücretsiz planı kredi kartı gerektirmediği için her karşılaştırma için kolay bir temel oluşturur. Ücretsiz bir Serverless broker oluşturun, yukarıdaki betiği çalıştırın ve topic'lerinizi portalda inceleyin. Daha geniş bir manzarayı anlamak için bulut MQTT broker genel bakışımızı, ilgili EMQX Cloud alternatifi karşılaştırmasını ve yönetilen MQTT broker açıklamasını okuyun. Ürün ayrıntıları connectmq.com adresinde.

Sık Sorulan Sorular

ConnectMQ, HiveMQ Cloud için yazılmış istemcilerle uyumlu mu?

Standart MQTT 3.1.1 veya 5.0 kullanan istemciler uyumlu her broker ile çalışır. Genellikle yalnızca host, port, kimlik bilgileri ve client ID değişir.

Yönetilen MQTT sağlayıcıları arasında fiyatlandırmayı nasıl karşılaştırmalıyım?

Önümüzdeki yıl için beklenen bağlantılarınızı ve mesaj hacminizi modelleyin, ardından her sağlayıcının güncel yayımlanmış fiyatlarını uygulayın. Fiyatlandırma modelleri farklıdır; bu yüzden manşet fiyatlar yerine iş yükünüz için toplam maliyeti karşılaştırın.

ConnectMQ veritabanı bağlayıcıları gibi veri entegrasyonları içeriyor mu?

Hayır. Broker MQTT'ye odaklı kalır; Node-RED, Telegraf ya da MQTT istemcisi olarak bağlanan kendi aboneleriniz gibi araçlarla entegrasyon yaparsınız.

Güncel HiveMQ Cloud özelliklerini nereden kontrol edebilirim?

Planlar ve sınırlar zamanla değiştiğinden HiveMQ'nun resmi dokümantasyon ve fiyatlandırma sayfalarını kullanın.

İlgili yazılar

BYOC MQTT Broker: Kendi Bulutunuzu Getirin Modeli Açıklandı

BYOC MQTT broker sizin bulut hesabınızda çalışır ama bir sağlayıcı tarafından işletilir. Modelin nasıl işlediğini, sorumluluk paylaşımını ve hesabınızı buna nasıl hazırlayacağınızı öğrenin.

7 dk okuma

Google Cloud IoT Core Alternatifi: Kapanış Sonrası Seçenekler ve Geçiş

Google, Cloud IoT Core'u Ağustos 2023'te kullanımdan kaldırdı. Bu rehber gerçekçi alternatifleri karşılaştırıyor, IoT Core kavramlarını standart MQTT'ye eşliyor ve verileriniz Google Cloud'a akmaya devam ederken cihazlarınızı yönetilen bir broker'a nasıl taşıyacağınızı gösteriyor.

7 dk okuma

Saniyede MQTT Mesaj Sayısı: Verim Nasıl Tahmin Edilir ve Ölçülür

MQTT verim planlaması birkaç formüle ve tek bir dürüst ölçüme dayanır. Saniyedeki gelen ve giden mesaj sayısını nasıl tahmin edeceğinizi, tepe değerleri nasıl hesaba katacağınızı ve sonucu bir broker planına nasıl eşleyeceğinizi öğrenin.

6 dk okuma

Tüm yazılar →

Özel MQTT broker’ınız birkaç tık uzağınızda

Hesabınızı oluşturun, broker kimlik bilgilerinizi alın ve ilk cihazınızı bağlayın — kurulacak, yamalanacak ya da ölçeklendirilecek sunucu yok.