Panoramica
Un servizio Kafka è un servizio cloud che offre la piattaforma di streaming dati Apache Kafka.
Il deployment di Apache Kafka su vasta scala è molto complicato, soprattutto negli ambienti di cloud ibrido. Proprio per questo, molti utenti dei servizi di streaming dati spesso preferiscono utilizzare un servizio Kafka, che affida la gestione di infrastrutture e sistemi a un provider di servizi.
Come funziona Apache Kafka?
Apache Kafka è una piattaforma di streaming dati open source distribuita che consente di pubblicare, sottoscrivere, memorizzare ed elaborare flussi di record in tempo reale. È progettata per gestire flussi di dati provenienti da più sorgenti distribuendoli a più consumatori.
Concepita per gestire enormi quantità di dati, Apache Kafka è una soluzione adatta alle applicazioni enterprise. La piattaforma Apache Kafka è progettata per gestire lo streaming dei dati garantendo velocità, scalabilità orizzontale e tolleranza di errore.
Apache Kafka è particolarmente utile per gestire le problematiche legate ai big data. In molti scenari di utilizzo di elaborazione dati, come IoT e social media, i volumi di dati aumentano in modo esponenziale e possono arrivare rapidamente a sovraccaricare le applicazioni realizzate sulla base dei volumi di dati attuali.
Per gli sviluppatori che lavorano con i microservizi, Apache Kafka è l'opzione ideale per l'integrazione asincrona basata su eventi, che può potenziare l'integrazione sincrona e le interfacce di programmazione delle applicazioni (API).
Risorse da Red Hat
Che cos'è lo streaming dei dati e perché è importante
Lo streaming dei dati è un flusso continuo di informazioni in tempo reale, spesso rappresentato da un log cumulativo di modifiche o eventi che si sono verificati in un set di dati.
Gli scenari di utilizzo dello streaming dati possono essere costituiti da qualunque situazione che richieda una risposta in tempo reale agli eventi, dalle transazioni finanziarie all'Internet of Things (IoT), fino al monitoraggio dei pazienti in ospedale.
Il software che interagisce con i dati in streaming consente di elaborare tali informazioni nel momento in cui arrivano, spesso utilizzando un modello di architettura basata su eventi.
Con un modello di streaming a eventi, i consumer degli eventi possono leggere qualsiasi parte del flusso e accedere al flusso in qualunque momento. Un evento base di streaming dati include una chiave, un valore e un timestamp. Una piattaforma di streaming dati riceve eventi e processi o trasforma il flusso di eventi. Elaborando i flussi di eventi è possibile identificare gli schemi nei flussi di dati.
Vantaggi di un servizio Kafka
Anche tenendo conto di tutti i suoi vantaggi, Apache Kafka può essere difficile da distribuire su vasta scala in un ambiente di cloud ibrido. I servizi di streaming dati possono presentare requisiti più restrittivi, rispetto ad altre applicazioni dati.
I flussi di dati devono fornire informazioni sequenziali in tempo reale, offrendo anche alti livelli di disponibilità e coerenza. La quantità di dati non elaborati in un flusso può aumentare esponenzialmente in breve tempo. I flussi devono privilegiare il sequenziamento appropriato dei dati, la coerenza dei dati e la disponibilità, anche nei periodi di attività intensiva. I flussi devono essere inoltre progettati per garantire durabilità in caso di guasto parziale di un sistema.
In un ambiente di cloud ibrido distribuito, un cluster di streaming dei dati presenta requisiti speciali. I broker dati di Apache Kafka sono stateful e devono essere preservati in caso di riavvio. La scalabilità richiede un'orchestrazione attenta, per garantire il comportamento previsto dei servizi di messaggistica ed evitare qualsiasi perdita di record.
Proprio per questo, molti utenti di Apache Kafka preferiscono utilizzare un servizio cloud gestito, che affida la gestione di infrastrutture e sistemi a un provider di servizi.
L'utilizzo di un servizio Kafka offre diversi vantaggi, tra cui:
- Possibilità di delegare la gestione dell'infrastruttura, per consentire ai team di dedicarsi allo sviluppo di app e altre competenze chiave.
- Velocità di applicazione superiore, poiché i team possono iniziare lo sviluppo all'istante e implementare tempestivamente le nuove tecnologie.
- Un vasto ecosistema di servizi cloud aggiuntivi, che possono anche semplificare la distribuzione delle applicazioni basate su flussi.
- Connettori che collegano i broker Kafka ai servizi distribuiti, semplificando l'utilizzo e la condivisione dei dati in streaming fra applicazioni e sistemi.
- Tariffe basate sul consumo, che permettono ai clienti di pagare solo quello che utilizzano, quando lo utilizzano.
Inoltre, quando vengono eseguiti su una piattaforma Kubernetes gestita, i cluster Apache Kafka possono estendersi su sistemi locali e su cloud pubblici, privati e ibridi, e utilizzare sistemi operativi diversi.
Il blog ufficiale di Red Hat
Leggi gli articoli del blog di Red Hat per scoprire novità e consigli utili sulle nostre tecnologie, e avere aggiornamenti sul nostro ecosistema di clienti, partner e community.