通过自动缩放Kinesis流实时传输数据

迪士尼API服务团队采用Kinesis流实现自动缩放,确保流量高峰时数据传输效率,同时降低成本。通过自定义的扩展和缩小Lambda,监控Kinesis指标,根据阈值进行扩缩,保证实时数据可用性,避免过度配置。
摘要由CSDN通过智能技术生成

640?wx_fmt=jpeg


Kinesis是由AWS提供的一项流数据管理服务,可轻松收集、处理和分析实时流数据。本文详细介绍了迪士尼API服务团队如何实现Kinesis数据流的自动缩放功能,保证流量高峰时的数据传输效率,并有效降低成本。本文来自迪士尼技术博客。


文 / Nick Burkard

译 / 咪宝

原文

https://medium.com/disney-streaming/delivering-data-in-real-time-via-auto-scaling-kinesis-streams-72a0236b2cd9


摘要


Kinesis是Amazon Web Services(AWS)提供的一项托管式流数据服务,在迪士尼流媒体服务中被广泛应用于实时和批量分析,并支持个性化视图、流并发和应用程序域事件分析等功能。在本篇文章中,将详细介绍迪士尼流媒体服务的API服务团队是如何实现Kinesis数据流的自动缩放功能的,这项功能使我们能够在流量高峰时段稳定地传输数据,同时保持成本效益。


问题


团队的工作


在迪士尼流媒体服务中,我们的API服务团队(包括我自己)负责那些向客户端公开公共API的应用程序,这意味着我们将大量参与客户端通信协议、支持流量需求的扩展、通过回退和降级提供可靠性以及安全性。


与大多数使用AWS部署的应用程序一样,我们的应用程序将事件记录到CloudWatch日志中。由于CloudWatch也是AWS提供的一项管理服务,因此我们可以很容易地集成它来存储和查询应用程序事件。我们还将应用程序事件发布到一个更大的数据湖平台中,这个平台支持对应用程序事件进行更丰富的分析和可视化,这也就是Kinesis 数据流的来源。


动机


选择Kinesis流作为我们的数据湖平台的入口点,需要确保数据不会丢失或长时间落后于实时交付。


一个简单的解决方案是过度供应流。然而,这并不划算,因为它相当于一天的大部分时间里都在浪费钱。


我们还研究了AWS Labs提供的一个应用程序Kinesis Scaling Utility,它可以通过CloudWatch来监控指标,并根据配置扩展Kinesis流。但是,它不是满足我们需求的最佳解决方案:


原因如下:


  1. 扩大规模的速度不够快。

  2. 应用程序需要不断运行,这会产生额外的成本。


上述两点是应用程序监控指标方法的结果,每隔设定的时间间隔来查询CloudWatch。我的团队需要尽快进行扩展并且节约成本,因此我们开始创建自己的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值