Stiamo provando a valutare Kafka e sostituire Rabbit Mq nel nostro software.Possiamo avere una forte capacità di routing con Apache Kafka simile a RabbitMq?
Sappiamo i vantaggi di Kafka in termini di RabbitMq rispetto al consumo offline, enorme persistenza, prestazioni eccellenti, bassa latenza e throughput elevato.
Ma abbiamo bisogno della funzionalità del modo in cui RabbitMq ha con lo scambio di argomenti il routing granulare per il consumo eterogeneo.
In una certa misura possiamo ottenere questo risultato disponendo di un numero maggiore di partizioni per broker in Kafka. Ma ha i propri limiti come il sovraccarico dei metadati dell'argomento su znode, aumentare la latenza.
Il nostro caso d'uso consiste nel filtrare i dati all'interno della partizione. Supponi di avere 100 dati del sensore di tipo simile in una partizione. Il consumatore può avere la possibilità di selezionare solo alcuni dei dati del sensore e ignorare il resto.
Possiamo fare il filtraggio/instradamento sul lato dell'applicazione (consumatore) ma sembra non essere riutilizzabile e sovraccarico aggiuntivo da ogni lato del consumatore.
C'è un modo in cui Kafka può fornire funzionalità di routing grazie al numero ottimale di partizioni?
Grazie, Ashish
Sei mai arrivato a un approccio/soluzione finale con Kafka che soddisfa le tue esigenze di routing? Ho una situazione simile, in cui ho una serie di app che verranno eseguite in serie di N numero di sezioni separate e vorrei che i messaggi pubblicati per il contesto del set A fossero consumati dalle altre app nello stesso set A, e non impostare B. Non mi piace l'idea che tutte le app di tutti i set ottengano tutti i messaggi e spetta a loro filtrare quelli per il proprio set. –