前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >分布式对象存储Ambry - 官方博客翻译与摘录(2)Ambry设计目标

分布式对象存储Ambry - 官方博客翻译与摘录(2)Ambry设计目标

作者头像
干货满满张哈希
发布2021-04-12 15:17:23
3180
发布2021-04-12 15:17:23
举报
文章被收录于专栏:干货满满张哈希

原文地址

Ambry工作原理

1. 设计目标

1.1 高可用以及水平可扩展

系统需要支持实时传输,如果出现不可用的话会显著的影响系统。这意味着系统需要高可用。我们的目标是每个月正常运行的时间在99.95%以上,相当于每个月中最多只有20分钟系统不可用。 另一个痛点是,我们希望新系统集群扩容时越无缝越好。在很多的分布式系统中,扩容真的很难,主要因为有太多部分需要移动,而且网络拓扑很复杂。我们希望扩容简单,而且每次扩容步骤都是一样的。

1.2 低操作与运维开销

分布式系统很难管理。集群操作自动化非常重要,这样系统就不会成为运维的瓶颈。然而,复杂系统使得自动化变得很困难,这就是为什么我们需要设计个简单的,优雅的并且自动化的系统。

1.3 低MTTR

故障在分布式系统中难以避免,软件还有硬件时常会因为未知原因挂掉。好的测试会减少一些此类现象,但并不能完全避免。所以,更重要的是,我们能快速解决问题,并且有备用的在运行。这需要系统满足设计简单,没有单点问题而且重启基本没有需要改变和移动的部分。我们需要设计这样一个系统来减少MTTR

1.4 跨机房多活

LinkedIn在全球有多个机房,而且不断的在全球扩展。这意味着我们所有的系统都需要支持多活配置。多活配置就是指,多个机房都可以对同一个对象进行更新操作。

1.5 对于大小对象操作高效

通常来说,对于同时包含小对象还有大对象操作的系统很难设计。这种系统需要支持数万亿的小对象和数十亿的大对象。大量的小对象有相对很大的元数据,会造成很多磁盘碎片还有随机读写。大对象需要很好的内存管理,端到端流和有限的资源使用管理。我们需要一个在这两种情况下都表现良好的系统。

1.6 节约成本

最后,多媒体还是受限于存储,这些对象由于他们本身的特性(数量多,占用空间相对较大)很快会占用很大的空间。另一特性就是,旧数据很容易变冷(不怎么访问)。有很多节约成本的技术,比如:

  1. 密集硬件(硬件共用,节约成本)
  2. 分层存储(好的存储与廉价存储公用,定时交换每一层的存储的数据,例如,将热数据放到好的存储上)
  3. erasure code(它可以将n份原始数据,增加m份数据,并能通过n+m份中的任意n份数据,还原为原始数据。定义中包含了encode和decode两个过程,将原始的n份数据变为n+m份是encode,之后这n+m份数据可存放在不同的device上,如果有任意小于m份的数据失效,仍然能通过剩下的数据还原出来)
  4. data deduplication(是另一种意义上的压缩:通过文件之间或文件块之间的冗余,来进行去重。考虑qq邮箱的超大邮件,会有用户经历过,当上传一个超大文件的时候,经过本地计算以后,页面提示用户说这个文件在服务器上面已经有了,这样就可以不用重新上传了。这就是data deduplication的一个典型例子。) 我们需要设计一个能很容易采用这些技术的系统。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016/10/10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Ambry工作原理
    • 1. 设计目标
      • 1.1 高可用以及水平可扩展
      • 1.2 低操作与运维开销
      • 1.3 低MTTR
      • 1.4 跨机房多活
      • 1.5 对于大小对象操作高效
      • 1.6 节约成本
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档