Amazon云计算AWS之Dynamo架构的主要技术 - 新闻中心 - 福州哈唐网络-福建IDC企业!专注云主机及服务器租用托管13年!

新闻中心

首页 > 新闻中心 > 行业新闻 >

Amazon云计算AWS之Dynamo架构的主要技术

时间:2016-12-27 10:12:54   阅读:

Dynamo架构的主要技术
 
  相比传统的集中式存储系统,Dynamo在设计之初就被定位为一个髙可靠、高可用且多有良好容错性的系统。实践表明Dynamo是一种非常成功的分布式存储架构。表3-1列出了Dynamo设计时面临的主要问题及最终采取的解决办法。
 
\
 
  在对表中内容作详细介绍之前,先了解Dynamo中的两个概念:coordinator和preference list。其中coordinator是执行一次读或写操作的节点,preference list是存储与某个特定键值相对应的数据的节点列表。一般来说,coordinator是preference list上的第一个节点。
 
数据均衡分布的问题
 
  Dynamo釆取的是数据分布式存储的架构,均匀分布数据才可以保证负载平衡和系统良好的扩展性,因此如何在各个节点上分布数据是非常关键的问题。Dynamo使用改进后的一致性哈希算法解决这个问题,同时Dynamo备份了每个数据,以提髙系统的可用性。
 
1)一致性哈希算法
 
  一致性哈希算法是目前主流的分布式哈希表(Distributed Hash Table, DHT)协议之一,由麻省理工学院于1997年提出。一致性哈希算法通过修正简单哈希算法,解决了网络中的热点(HotPot)问题,使得DHT可以真正的应甩于P2P环境中。
 
  一致性哈希算法满足以下四个要求。
 
  (1)平衡性:哈希算法运算后的结果能充分分散到整个缓冲空间,提高了缓冲空间的利用率。
 
  (2)单调性:致性哈希算法保证当加入新的缓冲区域时,旧的缓冲空间会被映射到新的空间中,而不会出现已分配的空间被映射到旧的缓冲集合的其他区域的情况。这主要是避免在新的节点加入时频繁改动原有映射关系所带来的巨大开销。
 
  (3)分散性:在分布式环境中,不同的终端可能只看见整个缓冲区的某个部分,这样可能会导致对于同一数据,不同的终端将其映射到不同的缓冲区,这显然降低了数据存储的效率。一致性哈希算法就要求尽量避免和降低分散性。
 
  (4)负载:既然不同的终端可以将相同的内容映射到不同的缓冲区,那么同一缓冲区也可能被不同的终端映射成不同的内容。一致性哈希算法可以有效避免这种情况的出现。
 
  一致性哈希算法一般分两步进行。首先求出设备节点的哈希值,将设备配置到环上的一个点(环上的每个点代表一个哈希值);接着计算数据的哈希值,按顺时针方向将其映射到环上距其最近的节点,如图3-2所示。添加新节点时,按照上述规则,调整相关数据到新的节点上,如图3-3所示。删除节点和添加节点过程相反。
 
\


闽公网安备 35010002000114号