【问题标题】:How to filter messages before passing them on to consumers?如何在将消息传递给消费者之前对其进行过滤?
【发布时间】:2015-06-18 12:25:18
【问题描述】:

我正在使用 Kafka 创建一个潜在客户和事件管理系统。问题是我们得到了很多假线索(广告)。我们的系统中也有很多消费者。有没有在去消费者之前过滤广告? 我的解决方案是将所有内容写入第一个主题,然后由过滤器使用者读取,然后将其写回第二个主题或过滤它。 但我不确定它是否有效。有什么想法吗?

【问题讨论】:

  • 这听起来是一个合理的方法,把一个尖峰解决方案放在一起,看看效果如何。

标签: java apache-kafka


【解决方案1】:

您可以将 Kafka Streams (http://kafka.apache.org/documentation.html#streamsapi) 与 0.10.+ 版本的 Kafka 一起使用。我认为这正是您的用例。

【讨论】:

  • 你拯救我的一天!
【解决方案2】:

是的——事实上,我主要相信这是你应该在你的上下文中处理问题的方式。因为 Kafka 只对数据的高效传输有用,它本身在清理数据方面无能为力。使用您从中间消费者那里获得的所有信息,该中间消费者可以运行自己的测试以确定哪些内容通过了过滤器并推送到不同的主题/分区(根据您的需要)以获取最佳数据。

【讨论】:

    【解决方案3】:

    【讨论】:

      【解决方案4】:

      看看 Confluent 的 KSQL。 (它是免费和开源的,https://www.confluent.io/product/ksql/。)它在后台使用 Kafka Streams,您可以在服务器端定义您的 ksql 查询和表,其结果写入 kafka 主题,因此您可以使用这些主题,而不是编写代码来创建中间过滤消费者。您只需要编写 ksql 表“ddl”或查询。

      【讨论】:

        猜你喜欢
        • 2020-09-20
        • 2022-07-14
        • 1970-01-01
        • 1970-01-01
        • 2018-07-02
        • 2015-03-13
        • 2013-08-08
        • 1970-01-01
        • 2012-12-31
        相关资源
        最近更新 更多