RFID Uygulama makaleleri

MQTT'nin geleneksel HTTP protokolüne kıyasla avantajları nelerdir?

HTTP en yaygın kullanılan ve popüler protokoldür. Ancak MQTT son birkaç yılda hızla yaygınlaştı. IoT geliştirmeyi tartışırken, geliştiriciler bu ikisi arasında seçim yapmalıdır.

MQTT verilere odaklanırken HTTP belgelere odaklanır. HTTP, mobil cihazlar için her zaman optimize edilmemiş olan istemci-sunucu bilgi işlemi için bir istek-yanıt protokolüdür. Bu terimlerle, MQTT'nin başlıca avantajları şunlardır: hafiflik (MQTT, verileri bayt dizileri biçiminde aktarır) ve yayınla/abone ol modeli, bu da MQTT'yi sınırlı kaynaklara sahip cihazlar için çok uygun hale getirir ve pil tasarrufuna yardımcı olur. Ayrıca, yayınla/abone ol modeli, istemcilerin birbirinden bağımsız olmasını sağlayarak genel sistemin güvenilirliğini artırır. Bir istemci arızası durumunda, tüm sistem normal şekilde çalışmaya devam eder.

MQTT'nin hala aşağıdaki gibi birçok avantajı vardır:

1. Düşük protokol yükü, MQTT, mesaj başına başlığının 2 bayt kadar kısa olabilmesi bakımından benzersizdir. Hem MQ hem de HTTP'nin mesaj başına çok daha yüksek bir yükü vardır. HTTP ile, her yeni istek mesajı için HTTP bağlantısını yeniden kurmak önemli bir yüke neden olur. MQ ve MQTT tarafından kullanılan kalıcı bağlantılar bu yükü önemli ölçüde azaltır.

2. Kararsız ağlara tolerans, MQTT ve MQ bağlantı kesilmesi gibi arızalardan kurtulabilir ve başka bir kod gereksinimi yoktur. Ancak HTTP bunu yerel olarak yapamaz ve istemcilerin kodlamayı yeniden denemesini gerektirir ve bu da idempotence sorunlarına yol açabilir.

3. Düşük güç tüketimi, MQTT özellikle düşük güç tüketimi için tasarlanmıştır. HTTP bunu hesaba katmak üzere tasarlanmamıştır ve bu nedenle güç tüketimini artırır.

4. HTTP yığınında milyonlarca bağlantısı olan istemciler, milyonlarca eşzamanlı bağlantıyı sürdürmek için destek sağlamak için çok fazla çalışma gerektirir. Bu destek mümkün olsa da, çoğu ticari ürün bu büyüklükteki kalıcı bağlantıları işlemek üzere optimize edilmiştir. IBM, MQTT üzerinden aynı anda 1 milyona kadar bağlı cihazı idare edecek şekilde test edilmiş tek raf montajlı bir sunucu olan IBM MessageSight'ı sunar. Buna karşılık, MQTT çok sayıda eşzamanlı istemci için tasarlanmamıştır.

5. Anlık bildirimler, müşterilere zamanında bildirimler gönderebilmeniz gerekir. Bunun için bir tür periyodik yoklama veya anlık bildirim kullanılmalıdır; anlık bildirim, pil, sistem yükü ve bant genişliği açısından en iyi çözümdür.

İşletmemizin üçüncü bir tarafın aracılığı olmadan hassas bilgileri göndermesi gerekebilir. Bu, birincil taşıma mekanizması olarak işletim sistemine özgü çözümlerin (Apple iOS, Google Play bildirimleri gibi) değerini azaltır.

HTTP, anlık bildirimleri gerçekleştirmek için kalıcı HTTP istekleri kullanan COMET adlı tek bir yönteme izin verir. Bu yaklaşım hem istemci hem de sunucu açısından pahalıdır. Hem MQ hem de MQTT, anlık bildirimleri temel bir özellik olarak destekler.

6. İstemci platformu farklılıkları, hem HTTP hem de MQTT istemcileri çok sayıda platformda uygulanmıştır. MQTT'nin basitliği, çok az çabayla ek istemcilerde MQTT'yi uygulamaya yardımcı olur.

7. Güvenlik duvarı hata toleransı, bazı kurumsal güvenlik duvarları giden bağlantıları bazı tanımlanmış bağlantı noktalarına kısıtlar. Bu bağlantı noktaları genellikle HTTP (bağlantı noktası 80), HTTPS (bağlantı noktası 443) vb. ile sınırlıdır. HTTP bu durumlarda açıkça işe yarayabilir. MQTT, HTTP yükseltme isteği olarak görünen bir WebSockets bağlantısına sarılabilir ve bu durumlarda çalışmaya izin verir. MQTT bu kalıba izin vermez.

HTTP ile karşılaştırıldığında, MQTT protokolü yüksek bir aktarım hızı garanti eder. Üç düzeyde hizmet kalitesi vardır:

A. En fazla bir kez: Teslimatı sağlamaya çalışın.

B. En az bir kez: E-postanın en az bir kez gönderildiğinden emin olun, ancak mesaj birden fazla kez de teslim edilebilir.

C. Sadece bir kez: Her mesajın diğer tarafça yalnızca bir kez alındığından emin olun.

Aslında, MQTT yaygın olarak kullanılır. MQTT'yi Facebook, BP, alibaba, baidu vb. gibi hemen hemen her büyük donanım ve İnternet şirketinde bulabilirsiniz.

MQTT'nin çeşitli teknik avantajları nedeniyle, giderek daha fazla şirket IoT ürün iletişimi için standart protokol olarak MQTT'yi seçme eğilimindedir. Bu nedenle, mühendisler MQTT protokolünün büyük ölçekte ticarileştirilecekse iyileştirilmesi gereken bazı işlevlere sahip olduğunu yavaş yavaş keşfettiler. örneğin:

1. Tam bir SDK yoktur ve farklı heterojen terminallerin MQTT sunucusuyla iletişim kurmak için karşılık gelen yazılım SDK paketlerine ihtiyacı vardır. Örneğin, MCU, Linux, Android, IOS, WEB vb. arasında bağlantı sağlamak için farklı SDK paketleri gerekli olmalıdır.

2. Dosya ve AV desteklenmez. Bazı uygulama senaryolarında, iletilecek bilgiler, Dosya ve AV aracılığıyla iletişim kurması gereken ses sinyalleri ve video sinyalleri gibi talimatlarla sınırlı olmayabilir.

3. Üçüncü taraf HTTP ile entegrasyonu desteklemez. Her ne kadarh MQTT protokolü sıradan HTTP protokolünden üstündür, geleneksel HTTP protokolüne dayalı WEB sunucuları hala ana akım pazarı işgal etmektedir, bu nedenle bu sunucular yükseltmeleri azaltmak için MQTT protokolüyle bağlantıyı gerçekleştirmelidir Maliyet de kritiktir.

4. Yük dengelemeyi desteklemez. Yüksek eşzamanlılığı ve kötü amaçlı saldırıları önlemek için bir yük dengeleme sunucusu da gereklidir.

5. Kullanıcı yönetimi arayüzünü desteklemez. Özellikle kullanıcıların cihaz davranış verilerini analiz etmesi önemlidir, bu da Endüstri 4.0'ın ve büyük veri çağının kaçınılmaz bir gereksinimidir.

6. Çevrimdışı mesajları desteklemez ve cihaz çevrimdışı olduktan sonra MQTT sunucusunun cihazın kontrol bilgilerini kaybetmesi sorununu telafi eder.

7. Noktadan noktaya iletişim desteklenmez ve standart MQTT protokolü benimsenir. Teoride, noktadan noktaya iletişim karşılıklı abonelik yoluyla gerçekleştirilebilir, ancak mantık nispeten karmaşıktır ve cihazın güvenliği konusunda endişeler vardır. Cihaz B ve cihaz C aynı konuda olduğunda, cihaz A mesajı gönderenin cihaz B mi yoksa cihaz C mi olduğunu bilemez ve mesajın cihaz D tarafından dinlenmesi de mümkündür.

8. Grup iletişimini ve grup yönetimini desteklemez ve grup üyelerinin yönetimini gerçekleştirir ve grup üyeleri birbirleriyle iletişim kurabilir. Bir cihazın birden fazla kişi tarafından kontrol edildiği veya birden fazla cihazın tek bir kişi tarafından kontrol edildiği senaryoda, Özellikle yararlıdır.

Scan the qr codeclose
the qr code