Dynamo paper, 随便看了看

简单的分布式系统主要存在的问题
1. scalability, dynamo中consistent hashing+virtual node
2. high availability。肯定想到replication,然后自然就有vector clock解决多版本问题
3. single failure point, dynamo完全peer to peer
细节详见http://blog.csdn.net/zgl_dm/article/details/6291984

problemtechniqueadvantage
partitioningconsistent hashingincremental scalability
high availability for writesvector clocks with reconciliation during readsversion size is decoupled from update rates
handling temp failuressloppy quorum and hinted handoffprovides ha and durability when some replicas arenot available
recovering from permanent failuresanti-entropy using Merkle treessynchronizes divergent replicas in the back ground
membership and failure detectiongossip-based membership protocol and failure detectionpreserve symmetry, avoids a centralized registry
  1. consistent hashing解决partition之后,还要用virtual node保证load balance。
    0-2^31-1的环划分Q个区(就是virtual node),一共S个机器,每个分Q/S.

    • 一个node(物理)离开,这个node cover的partitions均匀散布到其他node
    • 新的node加入,steal partitions from other nodes
      这个策略要求Q>>s, 如果有N 个备份,Q>>S*N
  2. 工业界一般认为比较安全的备份数是3份(加起来一共3份).
    replication,系统中每个节点负责环上的从其自己到第 N 个前继节点间的一段区域,存在preferred list中
    NWR模型:N个备份,每次读至少读R个备份,至少写W个备份
    要求R>N-W,保证每次读取至少有一个最新的版本。
    e.g. 高可读环境R=N=W=1, 高可写环境(amazon的购物车请求) W=1 R=N=3
    vector lock 模型 (和innodb的MVCC类似),版本号+修改的node
    这里写图片描述

    1. 4.
  3. 和经典的quorum差不多
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值