Points clés pour l’ingénierie
- La machine doit posséder durablement les données non envoyées.
- Chaque enregistrement exige temps d'événement, séquence, version de schéma et ID stable.
- Une file pleine est un état d'exploitation visible, pas une raison de supprimer en silence.
Le réseau transporte, il n'archive pas
Routeur, certificat, DNS, réseau mobile ou maintenance interrompent les liens. La commande reste locale et la télémétrie doit connaître précisément les observations non livrées.[1][4]
Une identité qui résiste au rejeu
ID machine, signal, valeur, qualité, temps d'événement, séquence, version de schéma et ID stable permettent de rejouer sans mentir sur le moment de mesure.[6][5]
- Dédupliquer par séquence ou ID
- Indiquer la qualité de l'horloge
- Versionner le schéma
- Transmettre les états périmé et hors ligne
Un journal local borné et transactionnel
Une base embarquée ou un journal append-only simplifie l'ordre, l'acquittement et la reprise après panne.[2][3]
| État | Local | Cloud | Action |
|---|---|---|---|
| En file | Durable | Inconnu | Réessayer avec le même ID |
| En vol | Durable | En attente | Réessayer après délai |
| Acquitté | Durable | Stocké | Compactable |
| Expiré | Selon règle | Non envoyé | Compter la perte |
Rejouer sans bloquer le présent
Réserver de la capacité aux états et alarmes actuels, puis vider l'historique par lots contrôlés.[1][5]
MQTT QoS 1 autorise les doublons. Le traitement logique exact exige des ID stables et une écriture idempotente.[1]
Décider avant que le stockage soit plein
Dimensionner selon la panne crédible, le débit, les frais d'écriture et la marge, puis définir une règle par classe de signal.[4]
- Afficher âge, octets et pertes
- Isoler le runtime des blocages disque
- Spécifier la rétention
- Tester la coupure de courant à chaque étape
Un essai de panne utile
- Couper l'uplink machine active
- Redémarrer le service puis couper l'alimentation
- Reconnecter après la panne maximale
- Vérifier temps, ordre et déduplication
- Préserver le direct pendant le rejeu
- Atteindre volontairement les limites
Questions fréquentes
MQTT QoS 1 suffit-il ?
Non. Il ne définit ni journal local, ni rétention, ni schéma, ni déduplication de bout en bout.
Faut-il un ordre global ?
En général, l'ordre par machine et flux suffit et évite le blocage entre signaux indépendants.
Quel volume local prévoir ?
Le calculer à partir de la panne maximale, du volume, des classes de rétention et d'une marge testée.
Sources et normes
- MQTT Version 5.0OASIS Open
- Write-Ahead LoggingSQLite
- Transaction control languageSQLite
- NIST SP 800-82 Rev. 3: Guide to Operational Technology SecurityNational Institute of Standards and Technology, September 2023
- Prometheus Remote-Write 2.0 specificationPrometheus
- RFC 3339: Date and Time on the InternetIETF
BootCtrl Engineering a vérifié pour la dernière fois les affirmations techniques et les liens sources le 26 juillet 2026. Les déclarations produit sont confrontées aux dépôts d’implémentation actuels ; les éléments de feuille de route ne sont pas présentés comme disponibles.



