【问题标题】:Pre-validate messages sent to Kafka topic预验证发送到 Kafka 主题的消息
【发布时间】:2017-06-12 16:45:51
【问题描述】:

是否可以验证/过滤发送到 Kafka 主题的消息?

就像,我想确保只有有效的客户/生产者向我的主题发送消息。我当然可以通过基于某些参数/标准丢弃无效消息来在消费者端执行验证。但是,如果我想在将消息写入主题之前执行此操作怎么办。

比如说,Kafka 接收到一条消息,执行一些验证并相应地决定它是否需要丢弃该消息或将该消息写入主题。这可能吗?

【问题讨论】:

标签: java apache-kafka


【解决方案1】:

简短回答 - 当前版本的 Kafka 不支持开箱即用的此类功能。而且由于 Kafka 生产者被设计为在单个会话期间与多个代理进行通信,因此没有简单的方法来实现这种临时过滤。 仍然存在几个合理的选择:

  1. 使用 2 个主题:一个向所有人开放的“公共”主题,允许所有消息,另一个非公共“过滤”主题,在应用过滤规则后,将由您自己的应用程序使用来自“公共”的数据填充。
  2. 如果您绝对需要在写入传入消息之前对其进行验证,那么您可以将实际的 Kafka 代理隐藏在某种形式的代理应用程序后面,该代理应用程序将在将消息写入 Kafka 之前进行验证

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 2018-04-20
    相关资源
    最近更新 更多