Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Gegevenspersistentie schrijft kritieke MQTT-brokergegevens op schijf, zodat deze behouden blijven na herstarts van het cluster. Bepaal vóór de implementatie of u gegevenspersistentie nodig hebt voor de MQTT-broker.
Persistentie vormt een aanvulling op het replicatiesysteem van de broker. Replicatie houdt gegevens beschikbaar over meerdere knooppunten heen, maar een afsluiting van het hele cluster kan nog steeds gegevensverlies veroorzaken — persistentie voorkomt dat. Persistentie verschilt van de door de schijf ondersteunde berichtbuffer, die gebruikmaakt van schijf als uitbreiding van het geheugen en biedt geen duurzaamheidsgaranties.
Het schrijven van gegevens naar schijf heeft een aanzienlijke prestatiekosten. De exacte kosten zijn afhankelijk van het type en de snelheid van de onderliggende opslag.
Important
Persistentie is ingeschakeld bij de implementatie en kan daarna niet worden uitgeschakeld. Sommige gerelateerde opties kunnen later worden gewijzigd. Zie runtimepersistentieopties.
Permanente volume-instellingen
De MQTT-broker gebruikt een permanent volume (PV) om gegevens op schijf op te slaan. Met twee instellingen bepaalt u hoe dit volume wordt ingericht:
maxSize(vereist): hiermee stelt u de maximale grootte van het permanente volume in voor het opslaan van brokergegevens. Dit veld is altijd vereist, zelfs als u een aangepaste volumeclaim opgeeft. De waarde moet ten minste 100 MB zijn.Voorbeeld:
10GipersistentVolumeClaimSpec(optioneel): definieert een aangepaste PVC-sjabloon (PersistentVolumeClaim) waarmee wordt bepaald hoe het permanente volume wordt ingericht. Als u deze optie niet instelt, maakt de broker een standaard PVC met behulp van demaxSizewaarde en de standaardopslagklasse van het cluster.Gebruik voor de beste prestaties een opslagklasse die gebruikmaakt van een local-path-provisioner. De standaardopslagklasse is vaak niet, wat de prestaties kan verminderen.
Important
Wanneer u opgeeft persistentVolumeClaimSpec, moet de toegangsmodus worden ingesteld op ReadWriteOncePod.
Persistentie configureren
Configureer persistentie bij de uitrol met het az iot ops create commando. Stel ten minste de permanente volumegrootte in:
az iot ops create ... --persist-max-size 10Gi
Als u de opslagklasse wilt aanpassen of de modus wilt behouden, voegt u de --persist-pvc-sc en --persist-mode vlaggen toe:
az iot ops create ... --persist-max-size 10Gi --persist-pvc-sc <MYSTORAGECLASS> --persist-mode retain=All stateStore=None
Opmerking
Je kunt deze persistentie-instellingen ook configureren tijdens de implementatiestappen in het Azure-portaal.
Voor de volledige set aan opties geeft u een configuratiebestand door met behulp van --broker-config-file. Zie Azure CLI-ondersteuning voor geavanceerde MQTT-brokerconfiguratie en de Persistence-API-verwijzing voor meer informatie.
In het volgende voorbeeld wordt een maximale grootte van 10 GiB en een aangepaste opslagklasse ingesteld:
{
"persistence": {
"maxSize": "10G",
"persistentVolumeClaimSpec": {
"storageClassName": "example-storage-class",
"accessModes": [
"ReadWriteOncePod"
]
}
}
}
Encryption
De MQTT-broker versleutelt standaard alle persistentiegegevens op schijf met behulp van AES-256-GCM-versleuteling. Versleuteling beschermt de brokerstatus en sessiegegevens als een aanvaller toegang krijgt tot het onderliggende volume.
Versleuteling is standaard ingeschakeld. Je kunt het uitschakelen, maar encryptie beschermt alleen data in rust - data in het geheugen is niet versleuteld. De prestatiekosten zijn minimaal, maar sleutelrotatie wordt nog niet ondersteund.
Opmerking
Versleuteling is standaard ingeschakeld bij het uitrollen via het Azure-portaal. Je kunt de encryptie in het broker-configuratiebestand uitschakelen als je deze deployt met Azure CLI.
Om encryptie uit te schakelen, voeg je de volgende code toe aan je broker-configuratiebestand en geef je deze vervolgens door aan az iot ops create met de --broker-config-file vlag:
{
"persistence": {
"encryption": {
"mode": "Disabled"
}
}
}
Opties voor runtimepersistentie
Sommige persistentieopties ( bewaarde berichten, abonneewachtrijen en statusopslag) kunnen na de implementatie worden geconfigureerd. Zie MQTT-brokerpersistentie configureren voor meer informatie over deze opties.