【问题标题】:Elasticsearch vs Kafka: Putting intelligence in producersElasticsearch vs Kafka:为生产者提供智能
【发布时间】:2017-08-21 22:21:33
【问题描述】:

Elasticsearch 和 Kafka 是分布式系统的两个示例,但两者都采用不同的方法来实现数据生产者的智能——在 ES 中,数据生产者对数据的存储位置没有发言权。他们只是要求集群存储数据。在 Kafka 中,生产者知道集群的内部状态(它知道主题的分区在哪些节点上),并且能够告诉集群将数据存储在特定分区上。

显然,Kafka 和 ES 是为不同的用例而构建的,但我正在努力将这些用例与这个设计决策联系起来 - 为什么 Kafka 允许生产者确定存储数据的位置,而 ES 却不允许?

【问题讨论】:

    标签: elasticsearch apache-kafka distributed-system


    【解决方案1】:

    他们只是要求集群存储数据

    那不是真的。在 ES 中,您可以利用 routing 来决定您的文档最终将在哪个分片中。与决定将存储消息的 Kafka 主题分区的概念几乎相同。

    Kafka 和 ES 显然是针对不同的用例构建的。前者是分布式提交日志,后者是搜索和分析引擎。不同的产品,不同的用例。

    尽管它们不同,但它们是互补的,可以很好地“一起”工作via Logstash,其中 Kafka 可以扮演 Elasticsearch 的输入缓冲区的角色

    【讨论】:

    • 2020 年,这似乎不太正确。两者都可以单独用于大多数功能。
    猜你喜欢
    • 1970-01-01
    • 2016-01-15
    • 1970-01-01
    • 2017-06-09
    • 1970-01-01
    • 1970-01-01
    • 2012-07-01
    • 2013-01-23
    • 2019-10-31
    相关资源
    最近更新 更多