come simulare i consumatori sequenziali in Kafka

1

Ho un consumatore kafka che ottiene i dati da Kafka e fa qualche processo se alcune circostanze si incontrano e lo inviano a un altro consumatore per fare il suo lavoro.

Come posso costruire qualcosa di simile?

Un modo in cui penso è il consumatore-1 ottenere i dati da un argomento-1 elaborarlo e inviare il risultato a topic-2 per consumer-2 da consumare. C'è un modo migliore per farlo come usare kafka Streams ??

    
posta mohsenJsh 24.11.2018 - 08:38
fonte

1 risposta

1

Hai praticamente capito. Se hai davvero bisogno di avere due servizi separati che elaborano i dati in questo modo, allora è esattamente come ti avvicini.

producer -> topicA -> service1 -> topicB -> service2

Poiché service1 è sia la lettura che la scrittura di Kafka, è sia un consumatore che un produttore. È davvero tutta la libreria di Kafka Streams. È un'astrazione per i casi in cui sei sia un consumatore che un produttore.

Solo una breve nota sulla separazione dell'elaborazione in due servizi separati in questo modo:

Ci sono sicuramente pro e contro in questa architettura, quindi considerala attentamente. Se si decide di avere più servizi per gestire questa pipeline di elaborazione, è necessario distribuire e gestire più servizi. C'è un costo definitivo per questo. Quel costo può essere superato dalla capacità di rielaborare parti della pipeline o dalla possibilità di distribuire gli aggiornamenti su diverse parti della pipeline in modo indipendente.

    
risposta data 26.11.2018 - 10:19
fonte