从: 数据管道的生命之血
Kafka主要与保存日志数据而不是移动日志有关 数据。因此,Kafka生产者需要编写代码来放入数据 Kafka和Kafka的消费者需要编写代码来提取数据 卡夫卡。 Fluentd为Kafka提供了输入和输出插件,以便获得数据 工程师可以编写更少的代码来获取进出Kafka的数据。我们有 许多使用Fluentd作为Kafka制作人和/或消费者的用户。
Kafka主要与保存日志数据而不是移动日志有关 数据。因此,Kafka生产者需要编写代码来放入数据 Kafka和Kafka的消费者需要编写代码来提取数据 卡夫卡。
Fluentd为Kafka提供了输入和输出插件,以便获得数据 工程师可以编写更少的代码来获取进出Kafka的数据。我们有 许多使用Fluentd作为Kafka制作人和/或消费者的用户。
kafka将发布/订阅消息传递作为分布式提交日志提供。通常,您需要在每个主机上安装kafka,您需要在其中生成一些要转发的数据,并且所有这些主机将一起形成一个群集。这里的好处是,如果由于某种原因网络连接变得不稳定或出现故障,您的应用程序可以继续生成数据/日志,它们不会丢失。如果您的应用程序直接将日志发送到某个远程集中式日志记录主机,则在网络出现故障时可能会丢失一些日志。
流利的是一个 的 集中 强> 日志收集器,通常安装在一台主机上(如果需要水平扩展,则更多)。它连接到 的 远程 强> 数据源,应用过滤并发送统一日志数据 的 远程 强> 数据汇。
从流利的文档,你可以看到流利的可以 消费来自kafka的数据 和 向卡夫卡提供数据 同样。仅此一点就应该暗示流利和卡夫卡在不同的层面,因为前者使用后者。
这更符合逻辑 比较流利和logstash 其实。就流利而言,kafka只是另一个数据源和/或数据接收器,但它们完全是不同的动物。
如果您想要两全其美,请使用kafka作为来自/到您的应用程序的输入/输出数据管道,并使用流利(或logstash)作为您的集中式日志记录系统从这些kafka主题中读取。
如果您想阅读有关该主题的更多信息,可以阅读相关内容 流利和卡夫卡相得益彰 很好,阅读他们没有互相竞争。