Azure Event Grid'de MQTT aracı özelliğine genel bakış

Azure Event Grid, Nesnelerin İnterneti (IoT) çözümlerinizi desteklemek için MQTT istemcilerinizin birbirleriyle ve Azure hizmetleriyle iletişim kurmasını sağlar.

Azure Event Grid'in MQTT aracı özelliği aşağıdaki senaryoları gerçekleştirmenizi sağlar:

  • Telemetriyi çoka bir mesajlaşma düzeni kullanarak alın. Bu düzen, uygulamanın cihazlarla çok sayıda bağlantıyı Event Grid'e yönetme yükünü boşaltmasını sağlar.
  • İstek yanıtı (bire bir) mesajlaşma desenini kullanarak MQTT istemcilerinizi denetleyin. Bu düzen, istemcilerin rollerinden bağımsız olarak herhangi bir istemcinin kısıtlama olmadan diğer istemcilerle iletişim kurmasını sağlar.
  • Bire çok mesajlaşma düzenini kullanarak bir istemci filosuna uyarılar yayınlar. Bu düzen, uygulamanın hizmetin ilgili her istemci için çoğalttığını yalnızca bir ileti yayımlamasına olanak tanır.
  • MQTT iletilerini HTTP Anında iletme teslim işlevi aracılığıyla Azure hizmetlerine ve Web kancalarına yönlendirerek MQTT istemcilerinizin verilerini tümleştirin. Azure hizmetleriyle bu tümleştirme, IoT cihazlarınızdan veri alımıyla başlayan veri işlem hatları oluşturmanıza olanak tanır.

Bu senaryoları gösteren kod örneklerini bu depoda bulabilirsiniz.

MQTT aracısı, diğerleriyle birlikte otomotiv ve mobilite senaryolarının uygulanması için idealdir. Azure'ın mesajlaşma ve veri analizi hizmetlerini kullanarak milyonlarca aracı buluta bağlamak için güvenli ve ölçeklenebilir çözümler oluşturmayı öğrenmek için başvuru mimarisine bakın.

High-level diagram of Event Grid that shows bidirectional MQTT communication with publisher and subscriber clients.

Temel kavramlar

Aşağıda, Azure Event Grid'in MQTT aracı özelliğinde yer alan temel kavramların listesi yer almaktadır.

MQTT

MQTT, kısıtlanmış ortamlar için tasarlanmış bir yayımlama-abone olma mesajlaşma aktarım protokolüdür. Verimlilik, ölçeklenebilirlik ve güvenilirlik nedeniyle IoT senaryoları için iletişim standardıdır. MQTT aracısı, istemcilerin WebSockets, MQTT v5 ve MQTT v5 üzerinden WebSockets protokolleri üzerinden MQTT v3.1.1, MQTT v3.1 ve MQTT v5 üzerinden iletileri yayımlamasına ve abone olmasını sağlar. Aşağıdaki listede MQTT aracısının bazı özellik vurguları gösterilmektedir:

  • MQTT v5 özellikleri:

    • Kullanıcı özellikleri , ileti hakkında daha fazla bağlam sağlamak için ileti üst bilgisine özel anahtar-değer çiftleri eklemenize olanak tanır. Örneğin, alıcının iletiyi verimli bir şekilde işleyebilmesi için iletinin amacını veya kaynağını ekleyin.
    • İstek-yanıt düzeni , istemcinizin standart istek-yanıt zaman uyumsuz desenden yararlanmasını sağlar ve istemcinin önceki yapılandırmaya gerek kalmadan yanıt verme isteğinde yanıt konusunu ve bağıntı kimliğini belirtir.
    • İleti süre sonu aralığı , artık ilgili veya geçerli olmayan bir iletiyi göz ardı etmek için MQTT aracısına bildirmenizi sağlar. Örneğin, eski komutları veya uyarıları göz ardı edin.
    • Konu diğer adları , istemcilerinizin konu alanının boyutunu küçültmesine yardımcı olarak veri aktarımını daha az maliyetli hale getirir.
    • İleti boyutu üst sınırı, istemcilerinizin sunucudan işleyebileceği en büyük ileti boyutunu denetlemesine olanak tanır.
    • Maksimum Alma, istemcilerinizin işlem hızı veya depolama özellikleri gibi özelliklerine bağlı olarak ileti hızını denetlemesine olanak tanır.
    • Temiz başlangıç ve oturum süre sonu , istemcinizin abonelik bilgilerini ve iletilerini yapılandırılabilir bir zaman aralığı için koruyarak oturum güvenilirliğini ve güvenliğini iyileştirmesini sağlar.
    • Olumsuz bildirimler, müşterilerinizin farklı hata kodlarına verimli bir şekilde tepki vermelerini sağlar.
    • Sunucu tarafından gönderilen bağlantı kesme paketleri , istemcilerinizin bağlantı kesilmelerini verimli bir şekilde işlemesini sağlar.
  • MQTT aracısı, MQTT belirtimleriyle daha fazla uyumlu hale getirmek için gelecekte daha fazla MQTT v5 özelliği ekliyor. Aşağıdaki öğeler, MQTT aracısı tarafından desteklenen özellikler ile MQTT v5 belirtimleri arasındaki geçerli farkları ayrıntılı olarak açıklar: Will message, Retain flag, Message ordering ve QoS 2 desteklenmez.

  • MQTT v3.1.1 özellikleri:

    • Kalıcı oturumlar , istemci bağlantısı kesildiğinde istemcinin abonelik bilgilerini ve iletilerini koruyarak güvenilirliği güvence altına alır.
    • QoS 0 ve 1 , müşterilerinize iletişimin verimliliği ve güvenilirliği üzerinde denetim sağlar.
  • MQTT aracısı, MQTT belirtimleriyle daha fazla uyumlu hale getirmek için gelecekte daha fazla MQTT v3.1.1 özelliği ekliyor. Aşağıdaki öğeler, MQTT aracısı tarafından desteklenen özellikler ile MQTT v3.1.1 belirtimi arasındaki geçerli farkları ayrıntılı olarak açıklar: Will message, Retain flag, Message ordering ve QoS 2 desteklenmez.

MQTT aracısı ve geçerli sınırlamalar hakkında daha fazla bilgi edinin.

Yayımla-Abone Ol mesajlaşma modeli

Yayımla-abone ol mesajlaşma modeli, istemcilere ölçeklenebilir ve zaman uyumsuz bir iletişim sağlar. İstemcilerin hizmete çok sayıda bağlantı ve ileti işleme yükünü boşaltmasına olanak tanır. Yayımla-Abone Ol mesajlaşma modeli aracılığıyla, istemcileriniz bire çok, çoka bir ve bire bir mesajlaşma düzenlerini kullanarak verimli bir şekilde iletişim kurabilir.

  • Bire çok mesajlaşma düzeni, istemcilerin hizmetin tüm ilgili istemciler için çoğalttığını yalnızca bir ileti yayımlamasına olanak tanır.
  • Çoka bir mesajlaşma düzeni, istemcilerin MQTT aracısına yönelik çok sayıda bağlantıyı yönetme yükünü boşaltmasına olanak tanır.
  • Bire bir mesajlaşma düzeni, istemcilerin rollerinden bağımsız olarak herhangi bir istemcinin kısıtlama olmadan diğer istemcilerle iletişim kurmasını sağlar.

Ad Alanı

Event Grid Ad Alanı, çekme teslim işlevselliğini destekleyen kaynakların yanı sıra MQTT aracı işlevselliğini destekleyen kaynaklar için bir yönetim kapsayıcısıdır. MQTT istemciniz MQTT aracısına bağlanabilir ve iletileri yayımlayabilir/abone olabilirken, MQTT aracısı istemcilerinizin kimliğini doğrular, yayımlama/abone olma isteklerini yetkiler ve iletileri ilgili istemcilere iletir. Ad alanı kavramı hakkında daha fazla bilgi edinin.

Müşteriler

İstemciler, MQTT iletileri yayımlayan ve MQTT iletilerine abone olan IoT cihazlarına veya uygulamalarına başvurur.

IoT cihazları, telemetri verilerini iletmek ve komutları almak için İnternet'e bağlı fiziksel nesnelerdir. Bu cihazlar sensörler, gereçler, makineler veya gömülü algılayıcılar ve yazılımlarla donatılmış diğer nesneler olabilir. Algılayıcılar ve yazılımlar, birbirleriyle ve çevrelerinizdeki ortamla iletişim kurmalarını ve etkileşim kurmalarını sağlar. IoT cihazlarının değeri, gerçek zamanlı veri ve içgörüler sağlama, işletmelerin ve bireylerin bilinçli kararlar almasına ve verimliliği ve üretkenliği artırmasına olanak tanır.

IoT uygulamaları, IoT cihazlarından gelen verilerle etkileşime geçmek ve verileri işlemek için tasarlanmış yazılımlardır. Bunlar genellikle veri toplama, işleme, depolama, görselleştirme ve analiz gibi bileşenleri içerir. Bu uygulamalar kullanıcıların bağlı cihazları izlemesine ve denetlemesine, görevleri otomatikleştirmesine ve IoT cihazları tarafından oluşturulan verilerden içgörüler elde etmelerine olanak tanır.

İstemci kimlik doğrulaması

Event Grid'de, bağlanmasına izin verilen istemcilerle ilgili bilgileri depolayan bir istemci kayıt defteri vardır. İstemcinin bağlanabilmesi için önce istemci kayıt defterinde bu istemci için bir giriş olması gerekir. bir istemci MQTT aracısına bağlandığında, kimlik kayıt defterinde depolanan kimlik bilgilerine göre MQTT aracısı ile kimlik doğrulaması yapması gerekir. MQTT aracısı, IoT cihazlarında endüstri kimlik doğrulaması standardı olan X.509 sertifika kimlik doğrulamasını ve uygulamalar için Azure'ın kimlik doğrulama standardı olan Microsoft Entra Kimliğini destekler.MQTT istemci kimlik doğrulaması hakkında daha fazla bilgi edinin.

Erişim denetimi

Erişim denetimi, ioT ortamlarının muazzam ölçeğini ve kısıtlanmış cihazların benzersiz güvenlik zorluklarını göz önünde bulundurarak IoT senaryoları için kritik öneme sahiptir. Event Grid, istemcilerin konu yayımlama veya abone olma yetkilendirmesini yönetmenizi sağlayan esnek bir erişim denetimi modeli aracılığıyla Rol Tabanlı Erişim Denetimi (RBAC) sunar.

IoT ortamlarının muazzam ölçeği göz önüne alındığında, her bir konu başlığına her istemci için izin atamak son derece yorucudur. Event Grid'in esnek erişim denetimi, istemcileri ve konuları istemci grupları ve konu alanları halinde gruplandırarak bu ölçek sınamasını ele alır. İstemci grupları ve konu alanları oluşturduktan sonra, bir konu alanını yayımlamak veya abone olmak üzere bir istemci grubuna erişim vermek için bir izin bağlaması yapılandırabilirsiniz.

Diagram of the access control model.

Konu alanları ayrıca, bir istemci grubundaki her istemcinin kendi konusunu yayımlamak veya abone olmak için yetkilendirmesini denetlemenize olanak tanıyarak ayrıntılı erişim denetimi sağlar. Bu ayrıntılı erişim denetimi, konu şablonlarındaki değişkenler kullanılarak elde edilir. Erişim denetimi hakkında daha fazla bilgi edinin.

Yönlendirme

Event Grid, daha fazla işlem için MQTT iletilerinizi Azure hizmetlerine veya web kancalarına yönlendirmenizi sağlar. Buna göre, ioT verilerinizi diğer kullanım örneklerinin yanında veri analizi, depolama ve görselleştirmeler için kullanarak uçtan uca çözümler oluşturabilirsiniz. Yönlendirme yapılandırması, istemcilerinizden gelen tüm MQTT iletilerinizi bir Event Grid ad alanı konusuna veya Event Grid özel konusuna göndermenizi sağlar. İletiler konuya girdikten sonra, konu başlığındaki iletileri kullanmak için bir olay aboneliği yapılandırabilirsiniz. Örneğin, bu işlevsellik, cihaz telemetrinizden içgörüler elde etmek için IoT cihazlarınızdan Event Hubs'a ve ardından Azure Stream Analytics'e telemetriyi yönlendirmek için Event Grid'i kullanmanıza olanak tanır. Yönlendirme hakkında daha fazla bilgi edinin.

Diagram of the MQTT message routing.

Edge MQTT aracısı tümleştirmesi

Event Grid, Azure IoT MQ ile tümleştirerek bulutta Azure Event Grid'in MQTT aracı özelliğiyle uçtaki MQTT aracı özelliğini köprüler. Azure IoT MQ, Arc özellikli Kubernetes kümelerinde çalışan uç bilgi işlem için yeni bir dağıtılmış MQTT aracısıdır. Sistem tarafından atanan yönetilen kimliği kullanarak Microsoft Entra Id (eski adıYla Azure Active Directory) kimlik doğrulaması ile Event Grid MQTT aracısına bağlanabilir ve bu da kimlik bilgisi yönetimini basitleştirir. Azure IoT MQ, IoT cihazlarınız ve uygulamalarınız için yüksek kullanılabilirlik, ölçeklenebilirlik ve güvenlik sağlar. Azure IoT İşlemleri kapsamında genel önizleme sürümünde kullanıma sunuldu. Azure IoT MQ'yi Azure Event Grid'in MQTT aracısına bağlama hakkında daha fazla bilgi edinin.

MQTT İstemcileri Yaşam Döngüsü Olayları

İstemci Yaşam Döngüsü olayları, uygulamaların istemci bağlantı durumu veya istemci kaynak işlemleriyle ilgili olaylara tepki vermesine olanak tanır. İstemcinizin bağlantı durumunu izlemenize, istemci bağlantısı kesilmelerine yönelik bir azaltma eylemiyle tepki vermenizi ve otomatik yük devretmeler sırasında istemcilerinizin bağlı olduğu ad alanını izlemenize olanak tanır. MQTT İstemcisi Yaşam Döngüsü Olayları hakkında daha fazla bilgi edinin.

Sonraki adımlar

MQTT aracısı ve ana kavramları hakkında daha fazla bilgi edinmek için aşağıdaki makaleleri kullanın.

Kavramlar