发布于: Oct 30, 2022

数据跨区域的传输一直是工程师们不断探究的问题,即使是将数据存至云上,要想将数据批量转移至另一区域依然不容易。今天,我们就利用本文和大家探讨如何实现这一目的。

Amazon S3 深度实践系列之一:S3 CLI 深度解析及性能测试一文中,我们深度剖析了 Amazon CLI S3 相关命令的实际工作原理及单机下载 S3 数据的基本性能测试情况。在实际工作场景中,很多客户会在 Amazon Web Services 多个区域的 S3 桶里面存储大量数据,而且会遇到将数据批量从一个区域一次转移到另外一个区域的情形;因此,在本篇中,作者和大家一起来探讨下出现这样的需求我们如何进行架构设计及高效实现。

存储在 S3 中的对象随着时间的推移,对象数量逐渐增加,而且总体的数据量也不断膨胀,如果碰到需要将数据从某一个区域的 S3 存储桶完全复制到另外一个 S3 存储桶里面,我们会遇到哪些挑战呢?

  • 网络传输带宽的限制
  • 存储桶里面所有对象的分析和列表
  • 源存储桶和目标存储桶权限的设定
  • 传输失败识别和重试的挑战
  • 如何利用并发来加速传输及降低成本
  • 如何判断目标存储桶中的对象和源存储桶中的对象差异及完整性

在通用架构设计环节,我们将复杂的问题分解成一系列的子问题进行分析,并讨论在不同场景下的具体实现时要考虑的因素。如下图所示,我们将该任务分解成独立的五个环节,从图上我们也可以看出来,如何实现大规模数据或任务的并发执行是每个环节能否高效完成的一个很关键的技术要求;而且,只有在步骤三执行数据传输任务时,才会涉及到具体场景中的技术限制,因此我们在执行数据传输任务章节来讨论,同区域不同存储桶之间,Amazon Web Services 海外不同区域存储桶之间,以及 Amazon Web Services 海外和国内不同存储桶之间的具体技术考量点。

相关文章