在单个Java进程中处理多个Kinesis流
我想在同一个Java进程中使用KCL处理多个Kinesis流 想法很简单:为每个流创建一个新的KCL实例,然后并发运行worker 我的问题是,在这种情况下,是否所有KCL实例都使用相同的线程池,以及在处理流处理时,这种想法是否是一种好的/常见的做法在单个Java进程中处理多个Kinesis流,java,stream,amazon-kinesis,amazon-kcl,Java,Stream,Amazon Kinesis,Amazon Kcl,我想在同一个Java进程中使用KCL处理多个Kinesis流 想法很简单:为每个流创建一个新的KCL实例,然后并发运行worker 我的问题是,在这种情况下,是否所有KCL实例都使用相同的线程池,以及在处理流处理时,这种想法是否是一种好的/常见的做法 谢谢当然,您可以做到这一点-只需启动多个KCL实例,每个实例都指向不同的流(具有自己的配置等)。每个Worker实例应该独立于其他Worker管理自己的ShardConsumer线程 但是,更常见/推荐的做法是让每个工作人员在其自己的流程中运行-这
谢谢当然,您可以做到这一点-只需启动多个KCL实例,每个实例都指向不同的流(具有自己的配置等)。每个Worker实例应该独立于其他Worker管理自己的ShardConsumer线程 但是,更常见/推荐的做法是让每个工作人员在其自己的流程中运行-这提供了更多的划分,这将改进: