Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 什么体系结构最适合创建无服务器aws服务?_Amazon S3_Amazon Ec2_Aws Lambda_Amazon Redshift - Fatal编程技术网

Amazon s3 什么体系结构最适合创建无服务器aws服务?

Amazon s3 什么体系结构最适合创建无服务器aws服务?,amazon-s3,amazon-ec2,aws-lambda,amazon-redshift,Amazon S3,Amazon Ec2,Aws Lambda,Amazon Redshift,我需要实现一个用于存储设备备份数据的AWS服务。 设备通过ID识别。服务由3个端点组成: 保存设备备份 获取设备备份 获取最新的设备备份时间 备份:二进制数据,从10kb到1mb 负载示例 每天保存100多个备份。每天恢复2k个备份 取p1乘以100 选择哪种体系结构或构建新体系结构更好 我可以将网关api组合成一个,还是每个请求都需要一个单独的api 我可以将lambda合并为一个,还是每个操作都需要一个单独的操作 设备备份包括两个要素: 备份数据:最好存储在Amazon S3中 元数据关

我需要实现一个用于存储设备备份数据的AWS服务。 设备通过ID识别。服务由3个端点组成:

  • 保存设备备份
  • 获取设备备份
  • 获取最新的设备备份时间
  • 备份:二进制数据,从10kb到1mb

    负载示例
  • 每天保存100多个备份。每天恢复2k个备份
  • 取p1乘以100
  • 选择哪种体系结构或构建新体系结构更好
  • 我可以将网关api组合成一个,还是每个请求都需要一个单独的api
  • 我可以将lambda合并为一个,还是每个操作都需要一个单独的操作

  • 设备备份包括两个要素:

    • 备份数据:最好存储在Amazon S3中
    • 元数据关于备份(用户、时间戳、指向备份数据的指针):最好存储在某种类型的数据库中,例如DynamoDB
    这些过程将是:

    • 保存备份:通过API网关向Lambda发送备份数据。Lambda函数将数据保存在amazons3中,并向DynamoDB数据库添加一个条目,返回对数据库中备份条目的引用
    • 检索备份:通过API网关向Lambda发送请求。Lambda函数使用DynamoDB中的元数据确定要为哪个备份服务,然后创建一个Amazon S3预签名URL,并将URL返回给设备。然后,设备直接从S3存储桶中检索备份
    • 列出备份:通过API网关向Lambda发送请求。Lambda函数使用DynamoDB中的元数据检索备份列表(或仅检索最新备份),然后返回值

    对于每种类型的请求(保存、检索、列表),使用单独的Lambda函数会更简洁。这些将通过API网关中的不同路径触发。

    除非您计划永远保持驱动器运行,否则最好使用另一种方式(屏幕截图)将架构嵌入问题中。这将使这个问题在驱动器图消失很久之后变得有用。发帖快乐!lambda和网关api是否能够承受这样的负载?备份-二进制数据,从10kb到1mb,加载示例1。每天保存100多个备份。每天恢复2k个备份。2.取p1乘以100,lambda和网关api是否能够承受这样的负载?备份-二进制数据,从10kb到1mb,加载示例1。每天保存100多个备份。每天恢复2k个备份。2.取p1乘以100I,我也会使用预先指定的s3url进行上传。API网关和Lambda绝对可以扩展到您的负载。主要因素是:(1)成本,(2)延迟,(3)容错性。通过使用预先签名的url进行上载,您可以从上载路径中删除2个失败点,并允许客户端重试失败的上载,而不会引起额外的Lambda调用。根据存储的元数据以及检索元数据的方式,还可以通过将元数据存储在键前缀和S3元数据的组合中来删除Dynamo依赖关系。