MQTT aracısını kullanarak MQTT iletilerini yayımlama ve abone olma
Önemli
Azure Arc tarafından etkinleştirilen Azure IoT İşlemleri Önizlemesi şu anda önizleme aşamasındadır. Bu önizleme yazılımını üretim ortamlarında kullanmamalısınız.
Genel kullanıma sunulan bir sürüm kullanıma sunulduğunda yeni bir Azure IoT İşlemleri yüklemesi dağıtmanız gerekir. Önizleme yüklemesini yükseltemezsiniz.
Beta veya önizleme aşamasında olan ya da başka bir şekilde henüz genel kullanıma sunulmamış olan Azure özelliklerinde geçerli olan yasal koşullar için bkz. Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları.
MQTT aracısı, ölçeklenebilir, yüksek oranda kullanılabilir ve Kubernetes-native olan kurumsal düzeyde, standartlara uyumlu bir MQTT aracısı içerir. Azure IoT İşlemleri Önizlemesi için mesajlaşma düzlemi sağlar, çift yönlü uç/bulut iletişimini etkinleştirir ve uçta olay odaklı uygulamaları destekler.
MQTT uyumlu
MQTT aracısı, hem MQTT v3.1.1 hem de MQTT v5'i destekleyen standartlara uyumlu bir MQTT aracısı içerir.
İleti Kuyruğu Telemetri Aktarımı (MQTT), IoT alanında protokoller arasında lingua franca olarak ortaya çıktı. MQTT'nin basit tasarımı, tek bir aracının aynı anda on binlerce istemciye hizmet vermesine ve basit bir yayımlama-abone olma konu oluşturma ve yönetimine olanak tanır. Birçok IoT cihazı, MQTT'yi yerel olarak kullanıma açık olarak destekler ve IoT protokollerinin uzun kuyruğu aşağı akış çeviri ağ geçitleri tarafından MQTT'de rasyonalize olur.
MQTT aracısı, mesajlaşma katmanı için alt sabitleme olarak MQTT protokolunu kullanır. Desteklenen MQTT özellikleri hakkında daha fazla bilgi için bkz . MQTT aracısında MQTT özellik desteği.
Yüksek oranda kullanılabilir ve ölçeklenebilir
Kubernetes, iş yüklerini birden çok örnekte çalışacak şekilde yatay olarak ölçeklendirebilir. Bu yedeklilik, herhangi bir örneğin kapanması durumunda isteklere ve güvenilirliğe hizmet etmek için ek kapasite anlamına gelir. Kubernetes yerleşik olarak kendi kendini iyileştirici özelliğine sahiptir ve örnekler otomatik olarak kurtarılır.
Kubernetes'in esnek bir ölçeklendirme teknolojisi olmasının yanı sıra DevOps için de bir standarttır. IoT protokolleri arasında MQTT lingua franca ise Kubernetes, bilgi işlem altyapısı katmanı için lingua franca'dır. Kubernetes'i benimseyerek her yerde aynı CI/CD işlem hattını, araçları, izlemeyi, uygulama paketlemeyi, çalışan becerisini kullanabilirsiniz. Sonuç olarak bulut bilişimden, şirket içi sunuculardan ve fabrika katındaki daha küçük IoT ağ geçitlerinden tek bir uçtan uca sistem elde edilir. Altyapı veya DevOps ile ilgilenmek için daha az zaman harcayabilir ve işinize odaklanabilirsiniz.
MQTT aracısı, Kubernetes ekosistemine sağlayabileceğiniz benzersiz uç-yerel veri düzlemi değerine odaklanırken buna sorunsuz bir şekilde uyum sağlar. MQTT ile oluşturulmuş yüksek performanslı ve ölçeklenebilir mesajlaşma platformu düzlemi ile diğer ölçeklenebilir Kubernetes iş yüklerine ve Azure'a sorunsuz tümleştirme sağlar.
Varsayılan olarak güvenli
MQTT aracısı, savaşta test edilmiş Azure ve Kubernetes yerel güvenlik ve kimlik kavramlarının üzerine inşa edilir ve bu sayede hem yüksek oranda güvenli hem de kullanılabilir hale gelir. Tek tek MQTT konu düzeyine kadar ayrıntılı erişim denetimi mekanizmalarının yanı sıra esneklik için birden çok kimlik doğrulama mekanizmasını destekler.
İpucu
Varsayılan MQTT aracısı dağıtımına yalnızca küme IP'sini, TLS'yi ve hizmet hesabı belirtecini kullanarak erişebilirsiniz. Küme dışından bağlanan istemcilerin bağlanabilmesi için ek yapılandırma gerekir.
Azure Arc tümleştirmesi
Microsoft'un hibrit platformu, Tek bir kontrol düzlemi olarak Azure Arc ile Kubernetes çevresinde sabitlenmiştir. Mevcut Azure dışı, şirket içi veya diğer bulut kaynaklarını Azure Resource Manager'a projeleyen bir yönetim düzlemi sağlar. Sonuç, Azure veri merkezlerinde çalışmayan sanal makineleri, Kubernetes kümelerini ve veritabanlarını yönetmek için tek bir denetim bölmesidir.
MQTT aracısı Kubernetes için Azure Arc uzantısı olarak dağıtılır ve tam özellikli bir Azure kaynak sağlayıcısı (RP) aracılığıyla yönetilebilir - microsoft/IoTOperationsMQ. Bu, Sanal Makineler, Depolama gibi yerel Azure bulut kaynakları gibi yönetebileceğiniz anlamına gelir.
Azure Arc teknolojisi, değişikliklerin şirket içi Kubernetes kümesinde çalışan MQTT aracı hizmetlerinde etkili olmasını sağlar. İsteğe bağlı olarak, tamamen Kubernetes yerel yaklaşımını tercih ediyorsanız, MQTT aracısını Kubernetes özel kaynak tanımları (CRD) ile yerel olarak yönetebilir veya Flux gibi GitOps teknolojilerini kullanabilirsiniz.
Bulut bağlayıcıları
Bulut senaryonuz için farklı mesajlaşma gereksinimleriniz olabilir. Örneğin, yüksek öncelikli veriler için çift yönlü bulut/uç hızlı yolu veya gerçek zamanlıya yakın bulut panoları ve toplu olarak güncelleştirilebilecek daha az zaman açısından kritik veriler için daha düşük maliyetli bir yavaş yol.
Esneklik sağlamak için MQTT aracısı, Event Hubs'a (Kafka uç noktası ile), Event Grid'in MQTT aracı özelliğine, Microsoft Fabric ve Blob Depolama'ya yerleşik Azure Bağlayıcıları sağlar. MQTT aracısı, çözümünüzle birlikte çalışan tercih ettiğiniz bulut mesajlaşma çözümünü seçebilmeniz için genişletilebilir.
Azure Arc'ın üzerine inşa etmek, bağlayıcıların güçlü Azure Rol Tabanlı Erişim Denetimi (RBAC) ile bulut hizmetlerine erişmek için Azure Yönetilen Kimliği kullanacak şekilde yapılandırılmasına olanak tanır. El ile, güvenli olmayan ve hantal kimlik bilgileri yönetimi gerekmez.
Dapr programlama modeli
Dapr, durum yönetimi, hizmet-hizmet çağrısı ve yayımla-abone olma mesajlaşması gibi yaygın dağıtılmış uygulama özelliklerini kullanıma sunarak dağıtılmış uygulamalar arasındaki tesisatı basitleştirir. Dapr bileşenleri yapı taşları altında yer alır ve her özellik için somut uygulama sağlar. İş mantığına odaklanabilir ve Dapr'ın dağıtılmış uygulama ayrıntılarını işlemesine izin vekleyebilirsiniz.
MQTT aracısı, uçta olay odaklı uygulamaların geliştirilmesini ve dağıtımını kolay ve teknolojiden bağımsız hale getiren eklenebilir Dapr yayımlama-abone olma ve durum deposu yapı taşları sağlar.
Mimari
MQTT aracısı üç katmana sahiptir:
- İstemci isteklerini işleyen durum bilgisi olmayan ön uç katmanı
- İstekleri yönlendiren ve aracıyı başkalarına bağlayan yük dengeleyici
- Verileri depolayan ve işleyen durum bilgisi olan ve parçalı arka uç katmanı
Arka uç katmanı, verileri istemci oturumları için istemci kimliği ve konu iletilerinin konu adı gibi farklı anahtarlara göre bölümler. Her bölümdeki verileri çoğaltmak için zincir çoğaltma kullanır. Tüm bölümler tarafından paylaşılan veriler için, tüm bölümleri kapsayan tek bir zincir kullanır.
Mimarinin hedefleri şunlardır:
- Hataya dayanıklılık ve yalıtım: Arka uç düğümleri başarısız olursa ileti yayımlama devam eder ve hataların sistemin geri kalanına yayılmasını önler
- Hata kurtarma: Operatör müdahalesi olmadan otomatik hata kurtarma
- İleti kaybı yok: En az bir ön uç düğümü ve bir arka uç düğümü çalışıyorsa iletilerin teslimi
- Esnek ölçeklendirme: Uç ve bulut dağıtımlarını desteklemek için yayımlama ve abone aktarım hızını yatay ölçeklendirme
- Büyük ölçekte tutarlı performans: Zincir çoğaltması nedeniyle ileti gecikme süresi yükünü sınırlayın
- operasyonel kolaylık: Bakımı ve karmaşıklığı basitleştirmek için dış bileşenlere minimum bağımlılık
Sonraki adımlar
Arc özellikli kubernetes kümesine Azure IoT İşlemleri Önizlemesi dağıtma