概论
在本文中,我们描述了如何把一个叫做Anna的分布式存储系统扩展成一个灵活的、多层的云服务。在它的众多扩展中,Anna 是被设计用来解决目前低性价比的云存储系统的一个产品。
我们现在要描述Anna设计的三个主要方面:1 多个可选主节点的热数据副本、2使用不同性价比的垂直存储分层、3每一层通过添加或者删除节点来响应负载均衡实现的灵活性。Anna 的引擎策略使用了上述的三个机制从成本、延时、容错率去平衡了服务级别的对象。实验结果展示了Anna的机制和策略的表现,并展示了在商业云服务上的数量级的提升
一 介绍
二 背景
Anna 的第一片论文提出了一个基于完全非共享、每个线程一个核的kv存储系统。Anna的线程不会共享任何数据结构在内存中 除了消息队列以外,这能使其每个核都花费了大量的时间在有效的工作上。实验在高竞争情况下,Anna在处理Put和Get请求的时间超过90%,处理竞争的实现低于10%。这大量的主要的其他的系统时间都花费在了执行原子指令在共享结构上。作为结果来讲,Anna 胜于其竞争对手很多点。对于这个最先进的KV分布式系统来讲,Anna最初设计也能够允许以一个史无前例的一致性级别。
三 分布式和机制
在本节中,我首先阐述和描述了最基本的工作量在数据和时间上的分布。我们接着描述了Anna响应工作量配置和改变的机制。
我们相信一个理想的云存储服务能够 良好的适应工作量的分布和它们及时的动态变化在如下三个方面:
1 随着工作量的成长,这个系统的吞吐量必须增长。在增长期间,这个系统能够自动的增加资源和成本。当工作量下来了,资源的使用和成本能够自动的降下来。
2 资源流量的不倾斜。不要大量的请求在一小部分key上
3