【问题标题】:What defines the scope of a kafka topic什么定义了 kafka 主题的范围
【发布时间】:2020-03-17 01:46:29
【问题描述】:

我正在尝试将 Kafka 用于现有系统,以替换旧的消息协议。目前,我们有多种类型的消息(数百种)用于在约 40 个应用程序之间进行通信。有些是高速异步的,有些是基于来自用户/事件的请求。

现在看看 Kafka,它分解了主题和分区等。但我对主题的构成有点困惑。我的应用程序产生的每种类型的消息是否都有自己的主题,允许数百个主题,或者我是否将它们聚集在一起以形成相关的消息类型?如果是第二个答案,应用程序读取消息并在其内容不是它要查找的内容时丢弃它是一种不好的做法吗?

我也处于两难境地,单个应用程序(显示器)将有超过 10 个副本,所有这些副本都会获取大量数据(以某种轻量级视频流的形式),并且将在每个特定节点上发送用户命令。卡夫卡会是一种足够的沟通方式吗?假设最多 10 个,但有时这些特定应用程序可能并不希望始终获取视频流。

第三个也是最后一个问题:我读过一些关于消息重播能力的文章。这只是在一个主题内,还是可以重播能力跨越一系列不同的主题?

【问题讨论】:

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


    【解决方案1】:

    Kafka 本身并不关心消息的“类型”。它知道的唯一类型是字节,这意味着您可以完全灵活地序列化数据集。但是请注意,默认的最大消息大小仅为 1MB,因此“流式传输视频/图像/媒体”可以说是仅 Kafka 的错误用例。像 RTMP 这样的协议可能更有意义

    Kafka 消费者组水平扩展,而不是响应负载。消费者以他们可以处理的速度轮询数据。如果他们不需要数据,那么他们可以停止,如果他们需要重新处理数据,他们可以独立寻找

    【讨论】:

      猜你喜欢
      • 2021-07-13
      • 1970-01-01
      • 2018-05-29
      • 1970-01-01
      • 1970-01-01
      • 2019-05-14
      • 1970-01-01
      • 2015-10-09
      • 1970-01-01
      相关资源
      最近更新 更多