gpt4 book ai didi

java - 在单个 Java 进程中处理多个 Kinesis 流

转载 作者:行者123 更新时间:2023-12-02 10:18:14 24 4
gpt4 key购买 nike

我想在同一个 Java 进程中使用 KCL 处理多个 Kinesis 流。

这个想法很简单:为每个流创建一个新的 KCL 实例,然后同时运行工作线程。

我的问题是,在这种情况下,所有 KCL 实例是否都使用相同的线程池,以及在处理流处理时,这个想法是否是一个好的/常见的做法。

谢谢

最佳答案

当然,您可以这样做 - 只需启动多个 KCL Worker实例,每个实例都指向不同的流(具有自己的配置等)。每个 Worker 实例应该独立于其他 Worker 管理自己的 ShardConsumer 线程。

但是,更常见/推荐的做法是让每个 Worker 在自己的进程中运行 - 这提供了更多的划分,从而改进:

  1. 故障案例 - 防止一次故障影响所有 Worker
  2. 部署/更新 - 更好地控制一次更新的 Worker 数量
  3. 硬件管理 - 每个进程一个工作线程更容易分布在多个小型主机上,尤其是当您的处理需求增长时
  4. 开发复杂性 - 虽然 KCL 在一个进程中支持多个 Worker,但为每个 Worker 作为自己的进程进行开发要容易得多

关于java - 在单个 Java 进程中处理多个 Kinesis 流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54531268/

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