gpt4 book ai didi

java - 如何避免 Kafka 的限制?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:54:40 27 4
gpt4 key购买 nike

<分区>

我们正在尝试构建一个 BI 系统,该系统将收集大量应该由其他组件处理的数据。
我们认为有一个中间层来收集、存储和分发数据是个好主意。

数据由一大组日志消息表示。每条日志消息都有:

  • 一个产品
  • 一个 Action 类型
  • 约会对象
  • 消息负载

系统细节:

  • 平均:150 万条消息/分钟
  • 峰值:1500 万条消息/分钟
  • 平均消息大小为:700 字节(约 1.3TB/天)
  • 我们有 200 种产品
  • 我们有 1100 种操作类型
  • 数据应每 5 分钟提取一次
  • 消费者应用程序通常需要具有 1-2-3 种操作类型的 1-2-3 产品(我们需要快速访问 1 种产品/1 种操作类型)

我们原以为 Kafka 可以完成这项工作,但我们遇到了几个问题。
我们尝试为每个操作类型创建一个主题,为每个产品创建一个分区。通过这样做,我们可以提取 1 种产品/1 种要消费的操作类型。

最初我们遇到“打开的文件太多”的问题,但在我们更改服务器配置以支持更多文件后,我们遇到内存不足错误(12GB 分配/节点)
此外,我们在 Kafka 稳定性方面遇到了问题。在大量主题下,kafka 容易卡顿。

我们的问题:

  • Kafka 是否适合我们的用例场景?能支持这么大的topic/partition数量吗?
  • 我们能否以另一种方式组织 Kafka 中的数据来避免此问题,但仍然能够为 1 种产品/1 种操作类型提供良好的访问速度?
  • 您是否推荐其他更适合此的 Kafka 替代方案?

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com