中文字幕一区二区不卡_一区二区三区四区久久_97成人资源网_gogo高清午夜人体在线_91久久精品国产亚洲_亚洲在线观看视频

新闻中心

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

云计算AWS之Dynamo数据冲突问题

时间:2016-12-28 11:13:46   阅读:

  分布式系统架构通常需要考虑三个因素:可靠性(Reliability)、可用性(Availability)和一致性(Consistency)。二者不能同时达到,最多只可以实现其中的两个。Dynamo系统选择牺牲一致性来换取系统的可靠性和可用性,这也是由Amazon业务特点决定的。Dynamo要保证完美的用户体验,就必须保证数据总是可写的,但是这样就可能出现数据冲突,如何解决数据冲突呢?Dynamo采用了最终一致性模型(Eventual Consistency),这种模型和强一致性模型(Strong Consistency)的不同点在于:它并不在意数据更新过程中的一致性问题,只要最终的所有数据副本能够保证一致性即可。简单地说就是“只求结果,不看过程”。由于最终一致性模型不保证过程中数据的一致性,在某些情况下(比如说某个存储节点出现故障)不同的数据副本可能会出现不同的版本,如何确保所有的副本最终都会被正确更新是一个很棘手的问题。数据副本可能会以不同的顺序看到更新结果,而不同顺序的更新很可能造成数据的不一致。为此Dynamo利用技术手段推断各个更新的实际发生次序,这种技术就是向量时钟,其原理图如图3-6所示。
 
\
 
  Dynamo中的向量时钟用一个(nodes,counter)对表示。其中nodes表示节点, counter是一个计数器,初始为0,节点每发生一次事件就将计数器加1。首先Sx对某个对象进行一次写操作,产生一个对象版本Dl([Sx,l]),接着Sx再次操作,由于Sx是第二次进行操作,所以counter值更新为2,产生第二个版本D2([Sx,2]);之后,Sy和Sz同时对该对象进行写操作,Sy将自身的信息加入向量时钟产生了新的版本D3([Sx,2], [Sy,l]), Sz同样产生了新的版本信息D4([Sx,2], [Sz,l]),这时系统中就有了两个版本的对象,但是系统不会自行选择,它会将这两个版本同时保存,等待客户端解决冲突。最后Sx再次对对象进行操作,这时它会同时获得两个数据版本,用户根据版本的信息,重新计算或得一个新的对象记做D5([Sx,2], [S3U],[Sz,l]),并将新的对象保存到系统中。需要注意的是,向量时钟的数量是有限制的,当超过限制时需根据时间戳(Timestamp)删除最开始的一个。这种解决一致性问题的方式对Amazon的购物网站来说非常有用。例如购物车模型,用户可以通过它查询曾经浏览的各种商品,而不是仅仅査询最终购买的商品。
 
?

闽公网安备 35010002000114号

主站蜘蛛池模板: 大尺度视频网站久久久久久久久 | 91精品国产综合久久久久 | 久久久久高潮毛片免费全部播放 | 美女免费精品高清毛片在线视 | 久久久久久久久久久9精品视频 | 国产黄色免费看 | 久久se精品一区二区影院 | 无翼乌工口肉肉无遮挡无码18 | 国产一区二区视频在线播放 | 天堂…中文在线最新版在线 | 高潮白浆潮喷正在播放 | 在线观看免费午夜大片 | 一区二区三区国产 | 国产精品igao视频网 | 婷婷影院在线综合免费视频 | a免费在线观看视频 | 亚洲午夜理论片在线观看 | 中文字幕无码久久精品 | 久久这里有精品 | 91亚洲国产成人久久精品网址 | 欧美精品一区在线看 | 九九视频在线播放 | 无码人妻少妇久久中文字幕 | 国产精品无码无片在线观看3d | 久久婷婷人人澡人人爽人人爱 | 国产精品美女久久久久久2018 | 国产亚洲精品热视频在线观看 | 粗大的内捧猛烈进出视频 | 亚洲精品天堂成人片av在线播放 | 国产av一区二区三区无码野战 | 99欧美日本一区二区留学生 | 国产欧美日本亚洲精品一4区 | a大片久久爱一级 | 天堂avwww| 中文字幕无码无码专区 | 日本大片免a费观看视频 | www.四虎影 | 欧美大片欧美毛片大片 | 亚洲暴爽av人人爽日日碰 | 久久国产亚洲精品无码 | 亚洲第一红杏精品久久 |