1

我有一个用例,其中存在一个我不知道有多少分片的现有 Kinesis 流。但是,我必须创建一个从分片中消耗的消耗应用程序,并且我还必须对应用程序进行 Dockerize 化。

我正在查看此 docker 图像链接以执行相同的操作:https ://github.com/alexdebrie/kclpy

我的问题是,因为我不知道有多少分片,所以我只启动了一个包含我的消费者代码的容器。所以实际上,如果我的 kinesis 有 5 个分片并且我只启动 1 个容器,KCL 将如何处理分配?

它会为每个分片创建进程或线程吗?无论哪种方式,docker 将如何处理多个进程/线程的创建?

有人可以给我一些提示,因为我很新,无法从文档中学到很多东西。

提前致谢

4

1 回答 1

1

KCL 自己处理来自多个分片的读取,它使用 dynamo db 来跟踪分片和 sequence_id。

您可以运行尽可能多的 KCL 进程实例,小于或等于分片数。

于 2020-05-27T15:07:43.380 回答