Code durevoli
Le code durevoli sono code in ThingWorx Platform che utilizzano Apache Kafka (per le distribuzioni locali) o Hub eventi di Azure (per le distribuzioni nel cloud PTC) come piattaforma distribuita per lo streaming di eventi. Queste piattaforme fungono da broker di messaggi e pipeline di dati. Esternalizzano e trasferiscono le
code in memoria nei nodi ThingWorx nello storage basato su disco sotto forma di code durevoli. Questo processo migliora la messaggistica interna in ThingWorx Platform nei seguenti modi:
• Maggiore stabilità di ThingWorx con esecuzione garantita al massimo una volta (ogni messaggio viene consegnato una volta o non viene consegnato affatto) per l'elaborazione a regime. Le code durevoli garantiscono che non vi sia alcuna perdita di dati per via di un superamento della capacità.
• Latenza di elaborazione degli eventi dimezzata rispetto alle
code in memoria.
ThingWorx supporta le code durevoli per i seguenti elementi:
• Eventi non ordinati (eventi sottoscritti da sottoscrizioni senza stato)
• Proprietà persistenti
• Proprietà registrate
Il diagramma riportato di seguito mostra il flusso funzionale delle code in memoria rispetto alle code durevoli. Per ulteriori informazioni sulle code in memoria, vedere
Code in memoria.
Dopo aver attivato le code durevoli per gli eventi, le proprietà persistenti o le proprietà registrate, le scritture delle proprietà vengono elaborate nella coda durevole e quindi nella coda in memoria.
Code durevoli nelle configurazioni a disponibilità elevata
Le code durevoli supportano anche le configurazioni
a disponibilità elevata (HA, High Availability). Deve essere presente un'istanza di Apache Kafka o Hub eventi di Azure con una configurazione a disponibilità elevata. Per ulteriori informazioni sulle configurazioni a disponibilità elevata, vedere
Dimensionamento delle code durevoli.
Il diagramma seguente mostra il flusso di
stream IoT attraverso Apache Kafka in un ambiente a disponibilità elevata:
Considerazioni importanti
• Solo gli eventi non ordinati (eventi sottoscritti da sottoscrizioni senza stato) vengono inseriti in Kafka o in Hub eventi. Gli eventi con stato vengono instradati ai flussi Akka esistenti.
• Gli eventi e le proprietà persistenti o registrate vengono utilizzati al massimo una volta.
• Per Kafka e Hub eventi, la conservazione dei dati è di 24 ore per default.
• La piattaforma può connettersi a Kafka, creare argomenti, inviare e ricevere messaggi. Se le code durevoli sono attivate, Kafka è considerata un'infrastruttura critica. Se si verificano problemi durante il tentativo di connessione a Kafka (ad esempio, credenziali non corrispondenti), ThingWorx Platform non viene avviato.