Skip to content

S3 协议与对象存储

字数: 0 字 时长: 0 分钟

概述

S3 (Simple Storage Service)是亚马逊 AWS 在 2006 年推出的对象存储服务,后来其底层通信协议(基于 Restful API)被广泛采纳为行业标准,称为 S3协议

如今 S3 协议已成为对象存储领域的事实标准,不仅 AWS S3 本身,许多其他云服务商(如阿里云 OSS、腾讯云 COS)和开源项目(如 MinIO)都兼容 S3 协议。

对象存储是一种存储架构,与传统的文件系统不同,它将数据作为“对象”进行管理。每个对象包含:

  1. 数据本身(任意类型的文件或二进制内容)
  2. 元数据(描述对象的属性、如创建时间、类型、自定义标签)
  3. 全局唯一标识符(通过 URL 或键 Key 访问,而非文件路径)

S3 协议核心特性

1. Restful API 设计

S3 协议通过 HTTP/HTTPS 进行操作,常用 API 包括:

  • PUT/GET/DELETE:上传、下载、删除对象
  • LIST:列出存储桶中的对象
  • HEAD:获取对象元信息
  • Multipart Upload:支持大文件分块上传

2. 存储桶(Bucket)和对象(Object)

  • 存储桶:是对象的容器,需全局唯一命名(类似域名),通常对应一个地域 (Region)
  • 对象:通过键(Key)唯一标识,键可以包含前缀(雷士文件夹路径),例如 images/photo.jpg

3. 强一致模型

许多分布式系统为了保证高可用性,只能保证最终一致性,也就是数据更新后,系统可能暂时会返回旧数据,经过一段时间后,所有客户端最终才会看到最新的结果,本质是数据同步存在延迟。

而 S3 在数据更新后,任何后续的读请求都会立即返回最新写入的数据,称为强一致性模型

4. AK/SK 认证

通过 Access Key 与 Secret Key 对请求进行签名

S3 对象存储的核心功能

  1. 数据自动跨多个设备(甚至多个可用区)冗余存储,高可用保证数据耐久性极高
  2. 支持多种存储层级,例如标准存储高频访问数据;低频存储低频访问数据;归档存储长期冷数据。
  3. 完备的加解密、版本控制、日志系统保证数据安全
  4. 支持高并发读写(无目录结构限制),支持大对象,可集成 CDN 加速全球访问