• Like
七牛云存储详解
Upcoming SlideShare
Loading in...5
×

七牛云存储详解

  • 352 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
352
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
2
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 七牛云存储详解 @许式伟 2013年5月1日
  • 2. 大纲 • 需求 – 七牛云存储的功能特性 • 存储、加速、数据处理 • 功能与实现原理 – 存储与加速 – 数据处理 • 总结
  • 3. 七牛云存储 • 为移动时代开发者打造的数据平台 – 存储 • 海量、可靠、便宜 – 加速 • 上传、下载速度快 • 可分块并行上传 • 可断点续上传、下载 – 数据处理 • • • • 图片缩略图/裁剪/水印/... 音视频转码 流媒体 可快速定制新的数据处理模块
  • 4. 框架示意图 3 数据处理增值服务 视频转码 客户的业务服务器可 以变得非常轻量。 图片处理 1 开发者的工作 2 服务器端 SDK 加速节点 业务服务器 加速节点 多副本、分布式、多 IDC互备的安全存储 加速节点 智能DNS和路由优化, 帮助你屏蔽国内网络环 境的复杂性 加速节点 自动选择最近 节点上传下载 客户端 SDK 移动应用
  • 5. 存储 • 目标 – 海量、可靠、便宜 – 如何用便宜的机器、很低的冗余度,组装出可 靠的系统
  • 6. 集群可靠性 • 存储集群的可靠性取决于 – 硬盘寿命 • 比较难调整,且与成本挂钩 – 容错度 • 集群可以容忍同时损坏多少块硬盘 • 通常与冗余度有关,与成本比较相关 – 单位修复时间 • 指单块硬盘损坏的修复时间 • 实现上可产生巨大差异 • 存储集群可靠性的关键指标
  • 7. 修复时间 • 参考值:单盘对拷时间 – – – – 局域网带宽 磁盘带宽 磁盘大小 修复时间 = 磁盘大小/min(局域网带宽, 磁盘带宽) • 如何突破单盘带宽瓶颈? – 让更多磁盘参与其中:将丢失的数据,均匀地分配到 集群其他磁盘上 • 注意:为了高可用,同一文件的数据不应该同时出现在一台机 器的不同硬盘上 – 理论上限 • 修复时间 = 磁盘大小/min(局域网带宽, 磁盘带宽)/(N-1) • N = 集群的磁盘数目
  • 8. 容错度/冗余度 • 三副本 – 冗余度:3 – 容错度:允许3块硬盘同时损坏2块 – 可靠性:在单位修复时间内,同时损坏3块盘,则发生数据丢失 • 跨机器做RAID6 – – – – 冗余度:(N+2)/N 容错度:允许N+2块硬盘同时损坏2块 (N越大风险越大) 可靠性:在单位修复时间内,同时损坏3块盘,则发生数据丢失 典型配置:N=4,冗余度=1.5 • 跨机器做EC – 冗余度:(N+M)/N – 容错度:允许N+M块硬盘同时损坏M块 (M越大风险越低) – 可靠性:在单位修复时间内,同时损坏M+1块盘,则发生数据丢失
  • 9. 跨 IDC 的数据冗余 • 目标 – 高可靠 • 单IDC出现自然灾害(比如地震)时不丢失数据 – 高可用 • 单IDC网络出现故障时,整个集群仍然正常工作
  • 10. 加速 • 下载加速 – 利用成熟的CDN网络 – 多CDN智能管理 • 上传加速 – 跨IDC的分布式存储结构
  • 11. 下载加速 • 考量 – CDN这样的下载加速网络已经发展了10年多, 非常成熟 – 七牛不希望在这一块上重复投入 – 七牛希望成为业界最专业的多CDN管理者 • 如果某个区域某家 CDN 比较快,将流量分配给它 • 在一个 CDN 出问题的时候,迅速将流量切到另一 家 CDN • ...
  • 12. 下载速度对比 与国内某知名云的对比
  • 13. 上传加速 • 上传加速是个新课题,随着UGC内容增加 而兴起 • 上传加速需要结合存储一起考虑 – 区别于下载加速,你不能认为上传节点是加速 节点,它需要是存储节点,Why? • 上传加速节点有数据可靠性的要求,不能丢数据 • 上传加速节点的数据,需要被立刻访问 – 不能有一个中间状态,你告知用户上传成功了,但是用户 通过其他 IDC 下载不到这个数据
  • 14. 存储与加速一体化 • 目标 – 跨 IDC 的分布式存储 • 传统分布式存储通常是单IDC集中式的 – 用户可选择任意的 IDC 就近上传 • 可大大提升上传速度 – 可分块并行上传 • 对传视频等大文件特别有效 – 可断点续上传 • 对2G/3G等移动网络特别有效
  • 15. 上传速度对比 与国内某知名云的对比
  • 16. 数据处理 • 目标 – 快速、高伸缩性 – 功能易扩展 • 需要非常容易添加新的数据处理模块 – 可预转 • 上传即转换,加快用户第一次访问时的速度
  • 17. 有点抽象?来点真的 • 微软的网站 – http://i.microsoft.com/global/ImageStore/PublishingImages/Asset /Features/WindowsUpgrade_0702_800x470_EN-US.jpg • 七牛镜像 – http://micro.qiniudn.com/global/ImageStore/PublishingImages/As set/Features/WindowsUpgrade_0702_800x470_EN-US.jpg
  • 18. 可以做更多 • 缩略图 – http://micro.qiniudn.com/global/ImageStore/PublishingImages/Asset/Feature s/WindowsUpgrade_0702_800x470_EN-US.jpg?imageView/1/w/128 – http://micro.qiniudn.com/global/ImageStore/PublishingImages/Asset/Feature s/WindowsUpgrade_0702_800x470_EN-US.jpg?imageView/2/h/256 • 打水印 – http://micro.qiniudn.com/global/ImageStore/PublishingImages/Asset/Feature s/WindowsUpgrade_0702_800x470_ENUS.jpg?imageView/2/h/256|watermark/1/image/aHR0cDovL3d3dy5xaW5pd XRlay5jb20vaW1hZ2VzL2xvZ28tMi5wbmc=/dissolve/90/gravity/NorthEast/d x/20/dy/20 • 旋转 – http://micro.qiniudn.com/global/ImageStore/PublishingImages/Asset/Feature s/WindowsUpgrade_0702_800x470_EN-US.jpg?imageMogr/rotate/45 • 裁剪 – http://micro.qiniudn.com/global/ImageStore/PublishingImages/Asset/Feature s/WindowsUpgrade_0702_800x470_ENUS.jpg?imageMogr/crop/!150x150a430a32
  • 19. 数据处理样式 • 样例 – http://micro.qiniudn.com/global/ImageStore/PublishingImages/Asset/Fea tures/WindowsUpgrade_0702_800x470_EN-US.jpg-large – http://micro.qiniudn.com/global/ImageStore/PublishingImages/Asset/Fea tures/WindowsUpgrade_0702_800x470_EN-US.jpg-rotate
  • 20. 音视频处理? • http://docs.qiniutek.com/v3/api/avfop/
  • 21. 总结 • 要点(Highlight) – 存储的关键是成本和可靠性 – 不重复制造轮子,做好多CDN管理专家 – 要做到上传速度快,存储与加速一体化 – 数据处理客户需求多样化,关键是解决扩展性
  • 22. Q&A 许式伟 @七牛云存储