当前位置: 首页 > 知识库问答 >
问题:

基于Kinesis客户端库(KCL)的应用程序中的负载平衡和扩展

巫马修然
2023-03-14

我正在使用amazon kinesis连接器构建一个kinesis客户端应用程序。我正在想一些关于它的事情。

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

共有1个答案

浦出野
2023-03-14

对于负载平衡,您需要多个分片。Kinesis尝试平衡每个工作人员承担的分片数量——如果您只有一个分片,您将不会从多个工作人员那里获得任何好处。有关Kinesis负载平衡工作原理的更多信息,请参阅此处我的相关答案。

至于缩放-每个碎片都有一个最大流量限制-来自动觉限制文档:

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

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

 类似资料:
  • 为什么我发现KCL与AWS Lambda一起使用的例子如此之少。https://docs.aws.amazon.com/streams/latest/dev/developing-consumers-with-kcl.html 它确实提供了一个很好的实现来跟踪您在流中的位置(检查点)。 我想使用KCL作为消费者。我的设置是一个具有多个碎片的流。每个碎片上都有一个Lambda在消耗。我想使用Lamb

  • 我在kubernetes pods中使用带有Python的gRPC作为客户端/服务器......我希望能够启动多个相同类型的pod(gRPC服务器)并让客户端(随机)连接到它们。 我调度了10个服务器吊舱,并设置了一个“服务”来瞄准它们。然后,在客户端,我连接到服务的DNS名称——这意味着kubernetes应该进行负载平衡,并将我指向一个随机服务器pod。实际上,客户机调用gRPC函数(这很有效

  • Ribbon是一个客户端负载均衡器,它可以很好地控制HTTP和TCP客户端的行为。Feign已经使用Ribbon,所以如果您使用@FeignClient,则本节也适用。 Ribbon中的中心概念是指定客户端的概念。每个负载平衡器是组合的组合的一部分,它们一起工作以根据需要联系远程服务器,并且集合具有您将其作为应用程序开发人员(例如使用@FeignClient注释)的名称。Spring Cloud使

  • 在花了几个小时阅读Http客户机文档和源代码后,我决定在这里寻求帮助。 我有一个使用循环算法的负载均衡服务器

  • 使用Cloud Foundry功能“Polyglot”集成服务发现和通过内部路由在服务容器之间直接通信,负载平衡如何工作?Cloud Foundry是否负责负载平衡?有没有一种方法可以利用客户端负载平衡,比如在这种支持Polyglot的通信之上使用Ribbon?

  • 我正在设计一个定制的客户机-服务器tcp/ip应用程序。应用程序的网络要求如下: 能够通过安全的TCP/IP通道(在指定端口打开)说出自定义应用层协议。 设计目标之一是使应用程序具有可扩展性,因此负载平衡尤为重要。我一直在研究EC2和WindowsAzure的负载平衡功能。我相信现在大多数产品都支持要求1。但是我不太确定要求2和3。特别地: > 这些服务(EC2、Azure)是否允许应用程序通过指