Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Veri kalıcılığı, kritik MQTT broker verilerini diske yazar; böylece bu veriler küme yeniden başlatıldıktan sonra da korunur. Dağıtımdan önce MQTT aracısı için veri kalıcılığına ihtiyacınız olup olmadığına karar verin.
Kalıcılık, aracı çoğaltma sistemini tamamlar. Çoğaltma, verileri düğümler arasında kullanılabilir durumda tutar, ancak küme genelinde kapatma işlemi yine de veri kaybına neden olabilir; kalıcılık bunu önler. Kalıcılık, belleğin bir uzantısı olarak diski kullanan ve kalıcılık garantileri sağlamayan disk tabanlı mesaj arabelleğinden farklıdır.
Diske veri yazmanın önemli bir performans maliyeti vardır. Tam maliyet, temel alınan depolamanın türüne ve hızına bağlıdır.
Önemli
Kalıcılık özelliği dağıtım sırasında etkinleştirilir ve sonrasında devre dışı bırakılamaz. İlgili bazı seçenekler daha sonra değiştirilebilir; bkz . Çalışma zamanı kalıcılık seçenekleri.
Kalıcı depolama birimi ayarları
MQTT aracısı, diskte veri depolamak için kalıcı birim (PV) kullanır. İki ayar, bu birimin nasıl sağlandığını kontrol eder.
maxSize(gerekli): Aracı verilerini depolamak için kalıcı birimin en büyük boyutunu ayarlar. Özel birim talebi sağlasanız bile bu alan her zaman gereklidir. Değer en az 100 MB olmalıdır.Örnek:
10GipersistentVolumeClaimSpec(isteğe bağlı): Kalıcı birimin nasıl sağlandığını denetleyan özel bir PersistentVolumeClaim (PVC) şablonu tanımlar. Bu seçeneği ayarlamazsanız broker,maxSizedeğerini ve kümenin varsayılan depolama sınıfını kullanarak varsayılan bir PVC oluşturur.En iyi performans için yerel yol hazırlayıcısı tarafından yedeklenen bir depolama sınıfı kullanın. Varsayılan depolama sınıfı genellikle değildir ve bu da performansı düşürebilir.
Önemli
belirttiğinizde persistentVolumeClaimSpecerişim modu olarak ReadWriteOncePodayarlanmalıdır.
Kalıcılığı yapılandırma
Kalıcılığı dağıtım sırasında az iot ops create komutuyla yapılandırın. En azından kalıcı birim boyutunu ayarlayın:
az iot ops create ... --persist-max-size 10Gi
Depolama sınıfını veya kalıcılık modunu özelleştirmek için --persist-pvc-sc ve --persist-mode bayraklarını ekleyin:
az iot ops create ... --persist-max-size 10Gi --persist-pvc-sc <MYSTORAGECLASS> --persist-mode retain=All stateStore=None
Note
Bu süreklilik ayarlarını Azure portalında dağıtım adımlarında da yapılandırabilirsiniz.
Seçeneklerin tam listesi için --broker-config-file kullanarak bir yapılandırma dosyası belirtin. Daha fazla bilgi için bkz. gelişmiş MQTT aracı yapılandırması için Azure CLI desteği ve Persistence API başvurusu.
Aşağıdaki örnek en fazla 10 GiB boyutu ve özel depolama sınıfını ayarlar:
{
"persistence": {
"maxSize": "10G",
"persistentVolumeClaimSpec": {
"storageClassName": "example-storage-class",
"accessModes": [
"ReadWriteOncePod"
]
}
}
}
Encryption
Varsayılan olarak, MQTT aracısı AES-256-GCM şifrelemesini kullanarak disk üzerindeki tüm kalıcılık verilerini şifreler. Şifreleme, bir saldırganın temel alınan birime erişmesi durumunda aracı durumunu ve oturum verilerini korur.
Şifreleme varsayılan olarak açıktır. Bunu devre dışı bırakabilirsiniz, ancak şifreleme yalnızca depolanan verileri korur - bellekteki veriler şifrelenmez. Performans maliyeti en düşük düzeydedir, ancak anahtar döndürme henüz desteklenmiyor.
Note
Azure portalı kullanılarak dağıtıldığında şifreleme varsayılan olarak etkinleştirilir. Azure CLI kullanarak dağıtırsanız broker yapılandırma dosyasında şifrelemeyi devre dışı bırakabilirsiniz.
Şifrelemeyi devre dışı bırakmak için broker yapılandırma dosyanıza aşağıdaki kodu ekleyin, ardından bunu --broker-config-file bayrağıyla birlikte az iot ops create komutuna iletin:
{
"persistence": {
"encryption": {
"mode": "Disabled"
}
}
}
Çalışma zamanı kalıcılık seçenekleri
Bazı kalıcılık seçenekleri (korunan iletiler, abone kuyrukları ve durum deposu) dağıtımdan sonra yapılandırılabilir. Bu seçeneklerle ilgili ayrıntılar için bkz. MQTT aracısı kalıcılığını yapılandırma.