Ambry 第一篇 整体介绍

Ambry - 分布式 immutable、高可靠、易扩展的基于Blob的存储系统,针对非易变的、大小下至几KB上至GB的对象的存储进行了优化,带来了高吞吐和低延迟,并且允许Client端到存储层进行双向流式端到端访问。该系统支持多数据中心 并且提供廉价存储。

 设计目标

高可用和水平扩展

 高可用和最终一致性。写入时,写入数据被存储在本地数据中心,且异步同步到其他数据中心的副本中。这种写入策略,可以很好的应对网络分区引起的写不可用问题,因为写入到本地数据中心依然是可用的。当本地数据中心的一台机器不可用时,Ambry在同一本地数据中心选择持有副本的另外一台机器提供读和写。对于读,如果数据并不在本地数据中心,则代理请求,向持有该副本的数据中心发送读请求。所有这些都是可配置的。

运维简便

Ambry的关键设计目标之一就是管理和运维集群简便。Ambry完全是去中心化的,且提供了足够的工具以方便管理集群。极致追求当然是尽可能多的自动化,进而减少人为干预

快速恢复 (Low MTTR - low Mean time to repair)

这对于任何分布式系统都至关重要。机器宕机、磁盘损坏、服务崩溃以及GC停顿等等,针对分布式系统,司空见惯,但是最为关键的是花费的修复时间。这些异常情况一旦发生后,在修复的过程中,尽管Ambry依然可用,但是低MTTR是至关重要的。

Active-Active cross DC

对象可以被写入任意数据中心中的相同partition中,并且可以从其他数据中心中读取,这是Ambry与其他大多对象存储系统不同的地方,通过副本与代理机制实现跨数据中心方案

适用大对象和小对象存储

对于多媒体存储,适合多样化存储同样至关重要。多媒体数据中大概有数兆级别的小对象以及数十亿级别的大对象,Ambry应该能够很好地处理这种混合负载。Ambry解决该问题的关键技术是将所有的对象写入到顺序的日志中,这样可以保证批量写入以及异步flush,进而减少磁盘碎片

本轻利厚

对象存储系统都会长时间存储对象数据,越旧的数据将越有可能变成冷数据,如果这些对象比较大,就会占用相当规模的存储空间。良好的对象存储设计必然支持JBOD,进而支撑硬盘高效利用

扫描二维码关注公众号,回复: 2378745 查看本文章

猜你喜欢

转载自blog.csdn.net/code_drimver/article/details/81197069