gpt4 book ai didi

elasticsearch - Fluentd 与卡夫卡

转载 作者:行者123 更新时间:2023-11-29 02:43:34 25 4
gpt4 key购买 nike

用例是这样的:我有几个运行的 java 应用程序都必须与不同的(每个都有特定的目标)elasticsearch 索引交互。例如应用程序 A 使用 ElasticSearch 的索引 A、B、C 进行查询和更新。应用程序 B 使用索引 A、C、D(比方说)。

需要一些通用接口(interface)来管理所有这些数据流。目前我正在为此评估 Kafka 和 fluentd。有人可以解释哪种更适合这种情况。我看过 Kafka 和 Fluentd 的功能,但我不太了解它在这里会产生什么不同。非常感谢。

最佳答案

kafka 提供发布/订阅消息作为分布式提交日志。通常你在每台主机上安装 kafka,你需要生成一些数据转发到其他地方,所有这些主机将一起形成一个集群。这里的好处是,如果由于某种原因网络连接变得不稳定或出现故障,您的应用程序可以继续生成数据/日志并且它们不会丢失。而如果您的应用程序直接将日志发送到某个远程集中式日志记录主机,您可能会在网络出现故障时丢失一些日志。

fluentd 是一个集中式 日志收集器,通常安装在一台主机上(如果您需要横向扩展,则可以安装更多)。它连接到远程数据源,应用过滤并将统一的日志数据发送到远程数据接收器。

从fluentd文档中可以看出fluentd可以consume data from kafkaproduce data towards kafka以及。仅这一点就应该暗示 fluentd 和 kafka 在不同的层上,因为前者使用后者。

compare fluentd and logstash 会更符合逻辑实际上。就 fluentd 而言,kafka 只是另一个数据源和/或数据接收器,但它们完全不同。

如果您想要两全其美,请使用 kafka 作为来自/到您的应用程序的输入/输出数据管道,并使用 fluentd(或 logstash)作为您从这些 kafka 主题读取的集中式日志记录系统。

如果您想阅读有关该主题的更多信息,可以阅读如何 fluentd and kafka complement each other很好,读到他们没有相互竞争。

关于elasticsearch - Fluentd 与卡夫卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35144835/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com