Scopri come utilizzare RabbitMQ Streams utilizzando sia Core che Plugin in questo tutorial
Recentemente ho pubblicato un articolo su RabbitMQ e su come utilizzarlo in Go per creare un’architettura basata sugli eventi.
Tutte le immagini in questo articolo sono state realizzate da Percy Bolmér. Gopher di Takuya Ueda, GoGopher originale di Renée French (CC BY 3.0)
Questo articolo copre le basi di RabbitMQ, questa volta, tuttavia, aumenteremo le nostre conoscenze e impareremo a conoscere Flussi. Questo articolo prevede che tu abbia una conoscenza di base delle code RabbitMQ; In caso contrario, consiglio vivamente il mio articolo precedente.
Mi sono sempre affidato a RabbitMQ e Kafka combinati. RabbitMQ per la maggior parte delle cose e nei momenti in cui ne avevo bisogno rigiocabilità, viaggiare nel tempoO eventi che persistevano Poi Ho usato Kafka.
Viaggiare nel tempo è quando puoi riprodurre eventi di un certo momento nel tuo sistema
L’utilizzo di due broker è diventato più complesso poiché ora avevo bisogno di distribuire Kafka e gestire entrambi i broker.
RabbitMQ ha rilasciato il supporto per una funzionalità chiamata Streams nel 2021. Mi ci è voluto del tempo per testarla, ma alla fine l’ho fatto e sono felice di averlo fatto.
Gli stream sono progettati per aiutarci specificamente con i problemi sopra menzionati, per i quali l’industria solitamente utilizza Kafka.
Ogni evento inviato sui flussi RabbitMQ viene scritto nel file system. e archiviato per sempre a meno che non sia configurato un TTL specifico. Ogni evento è indicizzato, il che ci consente di riprodurre facilmente gli eventi e di attivare viaggi nel tempo.
RabbitMQ Streams può essere utilizzato dalle aziende per creare robuste pipeline di dati basate sugli eventi che garantiscono una fornitura di dati affidabile e tempestiva con elevata integrità. La possibilità di riprodurre e visualizzare gli eventi successivamente può essere utilizzata anche per l’udibilità e la riproducibilità.
Tutto il codice che verrà utilizzato lo trovate sul mio Github
Un altro motivo per gli stream era che ogni consumatore doveva creare la propria coda in fan-out…
Fonte: towardsdatascience.com