【问题标题】:How to assign specific data to user in Kafka?如何将特定数据分配给 Kafka 中的用户?
【发布时间】:2020-05-16 20:41:23
【问题描述】:

我有一个主题加入了 Kafka Streams。

流式分析数据并将结果放到另一个主题“建议”。

一个推荐可以分配给一个或多个用户。

  • 如何在主题中存储推荐?键入分区user_id

  • 如果用户数百万怎么办?

  • 客户可以连接到流回避主题吗?

【问题讨论】:

    标签: apache-kafka kafka-consumer-api apache-kafka-streams


    【解决方案1】:

    如何在主题中存储推荐?通过user_id分区键入?

    根据您要实现的目标,消息的键应该是用于将消息分组到单个分区中的标识符。具有相同键的消息将被放置到同一个分区。


    如果用户是百万呢?

    所以您的recommendations 主题将有N 分区数,对吗?您决定使用user_id 作为消息的键,以便将同一用户的所有推荐插入到同一分区中,这绝对没问题。

    现在我认为您在这里缺少的是不必在用户和分区之间创建 1-1 映射。

    【讨论】:

    • 您能否详细解释一下:Now I think what you are missing here is that you don't necessarily have to create a 1-1 mapping between users and partitions.。如何知道哪些推荐分配给了用户?或者您打算将推荐数据存储在没有分区键的推荐主题中并在消费者身上过滤?
    • 如果是,消费者过滤大量数据会很繁重,假设我们有 2TB 的主题数据和所有推荐,那么消费者将过滤很长时间。
    • @AliceMessis 我的意思是一个分区可以容纳N个不同用户的所有消息。
    猜你喜欢
    • 2021-11-30
    • 2021-05-09
    • 1970-01-01
    • 1970-01-01
    • 2017-01-02
    • 2016-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多