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

扩展AWS Kinesis流并提高消费端的性能

奚昌胤
2023-03-14

Kinesis流用于从调用应用程序馈送消息,我们从Kinesis流中获取消息并进行处理。KPL(本地)用于将数据生成(馈送)到Kinesis中,KCL(@AWS EC2)用于消费者端KPL正在以良好的速度生成消息,但由于流转时长问题1,消费者需要更多时间

共有1个答案

束阳旭
2023-03-14

Kinesis消费者应该能够非常快速地消费数据,就像您正确使用KCL一样。事实上,它会将数据分批转发到消费者流程中。回答您的问题:

  1. 确保您对您的消费者使用“推送模式”。这意味着AWS将处理尽可能多的批处理记录,以减少网络IO并允许快速处理。在我的应用程序中,它可以一次批处理700条记录,从而确保快速处理。请参阅此处的链接,了解推/拉模型的详细信息
  2. 自动缩放碎片有专门的解决方案(不确定您现在是否可以直接使用kinesis自动缩放),但是您可能希望监控每个碎片的MillsBehindLatest等指标,这将在消费者端进行。然而,这很棘手,因为您需要检查流中的每个碎片。此外,您还需要监控生产方

我的观点很简单,只需提供足够的容量,因为Kinesis能够在即使只有几个分片上处理大量数据,并提供几个实例来处理不同可用性区域中的数据。随着数据随时间的推移进行调整,增加分片/实例。

 类似资料:
  • 我想制作下面的数据发送架构。 生产商-- 消费者服务器可以关闭,因此我认为应该至少有两个消费者。是这样吗? 当一个数据流有两个使用者时,是否有任何方法可以处理每个使用者一半的数据?正如我所知,这是不可能的。如果每个消费者都使用相同的数据,那就是浪费时间和成本。因为我只为高可用性提供了两个消费者。(用于故障切换) 在web was体系结构中,ELB或L4可以通过负载平衡将一半数据发送到每个was服务

  • 我正在构建一个使用来自Kafka主题的消息并执行数据库更新任务的Kafka消费者应用程序。消息是每天一次大批量生产的--所以该主题在10分钟内加载了大约100万条消息。主题有8个分区。 Spring Kafka消费者(使用@KafKalistener注释并使用ConcurrentKafkaListenerContainerFactory)在非常短的批处理中被触发。 批处理大小有时仅为1或2条消息。

  • xlswriter 是一个高性能 PHP C 扩展,可用于读取、写入 Excel 2007+ xlsx 文件,适用于 Linux,FreeBSD,OpenBSD,OS X,Windows。

  • 问题 在编写Appium脚本过程中,某个元素的resource_id或class可能在多个文件被使用, 当界面发生变化的时候,脚本将变得难以维护 解决办法 使用configparser提高Appium脚本的复用性、可配置性 将element全部写到一个配置文件中,比如config.ini或config.cfg 比如config.ini配置文件如下: ;登录 [login] user = com.

  • 环境 springboot, rocketmq, nacos, feign 定义 [消费服务 A], rocketmq 消费服务, 触发任务处理 [数据服务 B], 本地数据库, 相关业务逻辑 [分析服务 C], 对接三方服务, 发送本地数据, 返回结果. 三方结果有同步, 有异步. 流程 [消费服务 A]触发事件, [数据服务 B]提供数据, 状态更新. [分析服务 C]通过第三方处理数据, 返

  • 我想设计一个解决方案,用于向多个提供商发送不同类型的电子邮件。总体概述。 我有几个上游提供商Sendgrid、Zoho、Mailgun等。它们将用于发送电子邮件等。例如: 注册新用户的电子邮件 删除用户的电子邮件 空间配额限制的电子邮件 (一般大约有6种类型的电子邮件) 每种类型的电子邮件都应该生成到生产者中,转换为序列化Java对象,并发送到与上游提供商集成的适当的Kafka消费者。 问题是如何