基于Kinesis Client库(K​​CL)的应用程序中的负载平衡和扩展

时间:2018-02-05 08:48:45

标签: java amazon-web-services amazon-kcl

我正在使用amazon-kinesis-connectors来构建kinesis客户端应用程序。我正在弄清楚它的一些事情。

KCL如何确保负载平衡和扩展。例如,我有一个带有一个碎片的流,并且在一整天或特定时间内放置了大量记录/事件15分钟。那么它将如何处理这种突然的流量和负载。

1 个答案:

答案 0 :(得分:1)

对于负载平衡,您需要多个分片。 Kinesis试图平衡每个工人所采用的碎片数量 - 如果你只有一个碎片,你就不会从多个工人那里获得任何好处。有关Kinesis负载均衡如何工作的更多信息,请参见此处my related answer

至于缩放 - 每个分片都限制了它可以承担的最大流量 - 来自kinesis limitation docs

  

每个分片每秒最多可支持1,000条记录进行写入,最高总数据写入速率为每秒1 MB

使用kinesis扩展的方式是添加更多分片 - 更多分片==更多吞吐量。您可以预先创建这些分片,也可以在流量增加时添加它们。