## 视频
<video src="https://dev-media.amazoncloud.cn/30-LibaiGenerate/31-LiBaiRebrandingVideo/SVS307-Scaling_serverless_data_processing_with_Amazon_Kinesis_and_Apache_Kafka-LBrebrandingWCaptionCN.mp4" class="bytemdVideo" controls="controls"></video>
## 导读
在本论坛中,探索如何使用 Amazon Lambda 构建可扩展的数据处理应用程序。学习使用 Amazon Lambda 与 [Amazon Kinesis](https://aws.amazon.com/cn/kinesis/?trk=cndc-detail) 和 Apache Kafka 的事件驱动模型集成实时数据流和处理的实用见解。会议展示了用于实现高吞吐量、容错和低延迟的不同架构模型、最佳实践和代码示例。获得设计 Serverless 数据处理管道的知识,并从实时数据流中提取有价值的见解。
## 演讲精华
<font color = "grey">以下是小编为您整理的本次演讲的精华,共1400字,阅读时间大约是7分钟。如果您想进一步了解演讲内容或者观看演讲全文,请观看演讲完整视频或者下面的演讲原文。</font>
朱利安·伍德(Julian Wood)担任亚马逊云科技的首席开发者倡导者。由于封锁的原因,他的头发变得更加浓密。他幽默地欢迎与会者在上午10点参加re:Invent的会议,主题为利用[Amazon Kinesis](https://aws.amazon.com/cn/kinesis/?trk=cndc-detail)和Apache Kafka拓展[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail)数据处理。他预计这将是许多人参加会议后的第一次发言,并感谢大家的陪伴。
伍德注意到会场上有两类人——那些已经熟悉Kinesis或Kafka并对使用亚马逊云科技Lambda感兴趣的,以及那些经常使用Lambda但想了解如何处理流数据的人。
伍德解释道,越来越多的企业正努力摆脱将数据困在可能每月或每天只能运行一次的孤立硅巢和批量处理系统的情况,转而寻求构建更加集成式的架构,将不同数据库、数据湖和实时流媒体平台如Kinesis和Kafka相互连接。这一变革的目标是将分析和处理从大型批量作业转化为实时连续处理。
伍德提供了一些客户使用案例和应用程序示例,展示了流数据的应用:
- 一个工业自动化公司收集来自多个设备的传感器数据,需要进行实时处理。Kinesis帮助他们快速接收和存储高速数据。
- 一个在线游戏公司追踪玩家状态,并在游戏进行过程中实时更新。Kafka使他们能够保持玩家数据的最新状态。
- 一个IoT初创公司将家电和工业设备的遥测数据流化。他们使用Kinesis来处理持续的高速写入。
- 一个媒体公司在用户行为数据中将汇总到数据湖中。他们使用Kinesis Firehose以实时方式传输点击流日志。
- 一个银行处理交易记录以驱动欺诈检测模型。Kafka让他们能够在低延迟下分析付款并检测异常。
- 一个电子商务网站生成关于客户旅程的指标,而非批量报告。Kinesis使得点击流分析成为实时操作。
关于流数据的一些关键点包括:
- 它涉及到来自许多不同来源(如IoT设备、网站点击、移动应用程序等)的大量、持续的数据。数据以高速度不断到来。
Kinesis Data Streams:这是一款完全托管的应用数据流服务。它易用、灵活、持久且经济实惠。默认情况下,数据保留时间为24小时。"
"Kinesis Firehose:从Kinesis Data Streams中获取数据,并将其传输至S3、Redshift、ElasticSearch及其他目的地,以便进行后续的批量或实时处理。"
"Amazon MSK:这是一款完全托管的服务,用于运行Apache Kafka集群。它是自管Kafka集群的替代品。"
"Kafka Connect:这是一个框架,用于将Kafka与其他如数据库等系统连接。同步连接器可以通过轮询Kafka并调用Lambda函数来工作。它会处理偏移量的管理。"
"Lambda事件源映射:这是一种允许Lambda函数直接轮询并处理来自Kinesis和Kafka的流的原生集成方式。它会自动管理消费者的偏移量。"
"Wood随后解释了Kafka架构的一些关键要素:"
"Kafka集群包含了代理(即运行Kafka的服务器)。主题用于存储记录,分区在代理上进行负载分布,同时保持顺序。"
"生产者将记录写入分区,消费者读取记录。记录通过键分配到分区。"
"偏移量用于跟踪消费者在读取分区中的位置。"
同样地,Kinesis架构还包括:
"生产和消费过程,正如在Kafka中一样。"
"流包含碎片,它们类似于Kafka的分区。"
"记录被添加到碎片的前面,并根据保留策略从碎片的后面过期。
ESM持续地轮询流、过滤和批量记录,并调用Lambda函数。读取位置可以进行配置——从最新数据开始、从最早可用的数据开始或特定的时间戳等。对于Kafka,可以使用一个可自定义的消费者组ID来应对灾难恢复场景。ESM会同步地调用Lambda并将响应返回给流。默认情况下,失败的记录会重试3次,最多可以发送到失败目的地如SQS。将ESM与Kafka一起使用的其他功能包括:使用Secrets Manager的SASL SCRAM凭据自动处理身份验证。Lambda函数可以访问VPC中的Kafka集群,包括跨账户。需要NAT网关。对于Amazon MSK,集群安全组必须允许访问Lambda和STS。Lambda将ESM消费者规模扩展到分区的数量,保持顺序。与其他数据源一起使用ESM的一些额外功能包括:默认情况下,每个Kinesis分片都有一个Lambda函数,但可以通过并行化因子设置增加到10。在重新调整时,Kinesis添加了新的分片,导致Lambda添加了更多的消费者。批处理错误处理可以“二分”批量以快速隔离失败。滚动窗口允许聚合高达15分钟的数据。管理性能对于流应用至关重要,因此Wood介绍了一些关键要点:了解基线指标,如每秒记录/字节数,以及函数持续时间。监控迭代器寿命,消费者滞后,吞吐量,错误,限制以检测问题。优化筛选,函数内存最高可达10GB,并发限制。使用分区平均分配数据。
为了提升吞吐量,我们可以扩展Kinesis的碎片、流和并行因子。通过使用UpdateShardCount API,可以实现对碎片的扩展。在处理错误时,应保持快速且高效,利用失败目的地来隔离问题。同时,要限制顺序处理延迟。总的来说,Wood表示,Kinesis和Kafka都可以在亚马逊云科技上构建大规模的流数据管道。借助Lambda事件源映射,可以完全托管地消费记录并调用Lambda函数进行处理。通过过滤、批处理和错误处理等功能,可以优化性能、规模和成本等关键要素。
当将Lambda与流数据平台如Kinesis和Kafka相结合时,企业可以构建更敏捷、实时的数据架构。这使他们能够解锁比传统批量处理方法更多的数据价值。Lambda事件源映射处理扩展和管理流消费者的复杂性,使得开发人员能够专注于业务逻辑,并快速交付流数据解决方案。
Wood建议与会者查阅相关资源页面,其中包括关于Lambda、Kinesis、Kafka和流的演示文稿以及学习指南。此外,还应关注亚马逊云科技的Lambda工具集,其中包括批处理和幂等性处理等实用功能。Wood最后邀请与会者参观re:Invent的流专家,在Serverless Espresso喝咖啡,并在现代应用区了解更多详细信息。
**下面是一些演讲现场的精彩瞬间:**
演讲者热情洋溢地欢迎观众参加关于利用[Amazon Kinesis](https://aws.amazon.com/cn/kinesis/?trk=cndc-detail)和Apache Kafka拓展服务和数据处理领域的讲座。
![](https://d1trpeugzwbig5.cloudfront.net/SVS307-Scaling_serverless_data_processing_with_Amazon_Kinesis_and_Apache_Kafka/images/rebranded/SVS307-Scaling_serverless_data_processing_with_Amazon_Kinesis_and_Apache_Kafka_0.png)
领导者在演讲中强调了流数据的重要特点,如高容量、连续流、有序序列和时间敏感性,这些特点使得实时分析成为可能。
![](https://d1trpeugzwbig5.cloudfront.net/SVS307-Scaling_serverless_data_processing_with_Amazon_Kinesis_and_Apache_Kafka/images/rebranded/SVS307-Scaling_serverless_data_processing_with_Amazon_Kinesis_and_Apache_Kafka_1.png)
演讲者详细解释了[Amazon Kinesis](https://aws.amazon.com/cn/kinesis/?trk=cndc-detail)作为一个灵活且多功能的流平台,适用于各种应用场景,如作为企业服务总线、异步处理以及作为数据库等。
![](https://d1trpeugzwbig5.cloudfront.net/SVS307-Scaling_serverless_data_processing_with_Amazon_Kinesis_and_Apache_Kafka/images/rebranded/SVS307-Scaling_serverless_data_processing_with_Amazon_Kinesis_and_Apache_Kafka_2.png)
同时,演讲者也重点介绍了Amazon MSK如何帮助客户轻松应对繁重的基础设施管理工作,使他们能够专注于核心应用程序的开发。
![](https://d1trpeugzwbig5.cloudfront.net/SVS307-Scaling_serverless_data_processing_with_Amazon_Kinesis_and_Apache_Kafka/images/rebranded/SVS307-Scaling_serverless_data_processing_with_Amazon_Kinesis_and_Apache_Kafka_3.png)
此外,Kinesis流的处理方式类似于将分区分配给具有处理吞吐量的Kafka主题,新记录总是添加到最前面,而旧记录则会过期。
![](https://d1trpeugzwbig5.cloudfront.net/SVS307-Scaling_serverless_data_processing_with_Amazon_Kinesis_and_Apache_Kafka/images/rebranded/SVS307-Scaling_serverless_data_processing_with_Amazon_Kinesis_and_Apache_Kafka_4.png)
通过这种方式,可以实现记录的随机分布以实现最大吞吐量,或者将它们路由到相同的分区以进行有序处理。
![](https://d1trpeugzwbig5.cloudfront.net/SVS307-Scaling_serverless_data_processing_with_Amazon_Kinesis_and_Apache_Kafka/images/rebranded/SVS307-Scaling_serverless_data_processing_with_Amazon_Kinesis_and_Apache_Kafka_5.png)
最后,演讲者宣布推出了一个名为serviceland.com的新网站,这个网站包含了大量关于Amazon云科技服务的实用指南和资源。
![](https://d1trpeugzwbig5.cloudfront.net/SVS307-Scaling_serverless_data_processing_with_Amazon_Kinesis_and_Apache_Kafka/images/rebranded/SVS307-Scaling_serverless_data_processing_with_Amazon_Kinesis_and_Apache_Kafka_6.png)
## 总结
本次演讲主要介绍了亚马逊云科技中流数据和处理架构的相关内容,重点探讨了使用亚马逊云科技Lambda处理流数据的方案。演讲涵盖了Kinesis数据流、Amazon MSK等服务以及EventBridge管道和Lambda事件源映射等工具的使用方法。演讲者详细阐述了如何通过监控性能基准和优化配置来提高使用Lambda处理流数据时的吞吐量和降低延迟。此外,他还强调了亚马逊云科技托管服务的优势,通过减少基础设施管理,使得开发人员能够更专注于核心应用逻辑和业务需求。
## 演讲原文
## 想了解更多精彩完整内容吗?立即访问re:Invent 官网中文网站!
[2023亚马逊云科技re:Invent全球大会 - 官方网站](https://webinar.amazoncloud.cn/reInvent2023/?s=8739&smid=19458 "2023亚马逊云科技re:Invent全球大会 - 官方网站")
[点击此处](https://aws.amazon.com/cn/new/?trk=6dd7cc20-6afa-4abf-9359-2d6976ff9600&trk=cndc-detail "点击此处"),一键获取亚马逊云科技全球最新产品/服务资讯!
[点击此处](https://www.amazonaws.cn/new/?trk=2ab098aa-0793-48b1-85e6-a9d261bd8cd4&trk=cndc-detail "点击此处"),一键获取亚马逊云科技中国区最新产品/服务资讯!
## 即刻注册亚马逊云科技账户,开启云端之旅!
[【免费】亚马逊云科技“100 余种核心云服务产品免费试用”](https://aws.amazon.com/cn/campaigns/freecenter/?trk=f079813d-3a13-4a50-b67b-e31d930f36a4&sc_channel=el&trk=cndc-detail "【免费】亚马逊云科技“100 余种核心云服务产品免费试用“")
[【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用”](https://www.amazonaws.cn/campaign/CloudService/?trk=2cdb6245-f491-42bc-b931-c1693fe92be1&sc_channel=el&trk=cndc-detail "【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用“")