Fluentd vs Kafka

Le cas d'utilisation est-ce: J'ai plusieurs applications java en cours d'exécution qui doivent toutes interagir avec des indices elasticsearch différents (chacun ayant une cible spécifique). Par exemple,une application a utilise les indices A,B, C D'ElasticSearch pour interroger et mettre à jour. L'Application B utilise les indices A,C, d(say).

une interface commune est nécessaire pour gérer tous ces flux de données. Actuellement, J'évalue Kafka et fluentd dans ce but. Quelqu'un peut m'expliquer ce qui sera mieux adapté à cette situation. J'ai regardé les caractéristiques de Kafka et Fluentd et je ne comprends pas vraiment la différence que cela ferait ici. Merci beaucoup.

17
demandé sur Akshay Arora 2016-02-02 07:04:13

2 réponses

kafka fournit publier/souscrire messagerie distribuée journal de validation. Habituellement vous installez kafka sur chaque hôte où vous devez produire des données pour être redirigé ailleurs et tous ces hôtes formeront ensemble un cluster. La bonne chose ici est que si pour une raison connectivité réseau devient instable ou descend, votre application peut continuer à produire des données/journaux et ils ne seront pas perdus. Alors que si votre application envoie directement des journaux à une connexion centralisée à distance host, vous pourriez perdre quelques logs pendant le temps que le réseau tombe en panne.

fluentd est un centralisée log collector qui est généralement installé sur un hôte (ou plus si vous avez besoin d'échelle horizontale). Il se connecte à distance sources de données, applique le filtrage et envoie des données de log unifiées à distance les puits de données.

D'après les documents fluentd, vous pouvez voir que fluentd peut données de consommation de kafka et produire des données vers kafka!--12-->. Cela indique que fluentd et kafka sont sur des couches différentes puisque la première utilise la seconde.

Il serait plus logique d' comparez fluentd et logstash en fait. En ce qui concerne fluentd, kafka n'est qu'une autre source de données et/ou un puits de données, mais ce sont des bêtes tout à fait différentes.

si vous voulez le meilleur des deux mondes, utilisez kafka comme entrée / sortie des pipes de données à partir de / vers vos applications et fluentd (ou logstash) comme votre système d'enregistrement centralisé lecture de ces sujets kafka.

Si vous souhaitez en savoir plus sur le sujet, vous pouvez lire comment fluentd et kafka se complètent très bien, lisez qu'ils ne se font pas concurrence.

37
répondu Val 2016-02-02 04:38:27

:Le Sang De La Vie De Votre Pipeline De Données

Kafka est principalement liée à la conservation des données du journal plutôt qu'au déplacement du journal données. Ainsi, Kafka producteurs besoin d'écrire le code pour mettre les données dans Kafka, et les consommateurs Kafka DOIVENT ÉCRIRE le code pour extraire des données Kafka.

Fluentd a à la fois des plugins d'entrée et de sortie pour Kafka de sorte que les données les ingénieurs peuvent écrire moins de code pour entrer et sortir des données de Kafka. Nous avons de nombreux utilisateurs qui utilisent Parlant couramment en tant que producteur et/ou consommateur de Kafka.

1
répondu Basil Musa 2018-04-19 20:02:26