Tag Archives:
为人人设计的分布式key-value系统架构[原创]
[作者:陈臻 转载请注明出处:http://www.54chen.com/714-design-for-all-key-value-of-the-distributed-system-architecture-original/ 版本:1.1 2090810] 8.10 增加dev4server组里esx大侠提出的几个代表性问题 这个架构的产生,是为了公司的一个新项目,而后来慢慢变成了解决整个公司的所有问题的一个架构,期间经yahoo的angentZh先生、dev4server组里张立冰先生、盛大的许式伟先生推荐研究了bigtable、Dynamo等很有代表性的分布式架构。 如下图所示: 总体:底层以key-value存储,每个节点内作主主互备,节点以一致性哈希存取,哈希所使用的key为relation-key,非直接存取时的key。 step 0:连接客户端收到一个key为relatioin-key_id的存取请求,取出relation-key进行一致性哈希计算,这里是为了让相关的内容都能存在一个节点上,类似bigtable的tablet; step 1:连接客户端读取最新的配置文件,server.conf。 step 2:根据配置文件寻找正确的节点。 step 3:在B节点之间增加了一个节点A的时候,A前的虚拟节点将寻找不到数据,此时连接客户端会重新读取老的配置文件server.conf.1,根据老的配置,这里的数据会去B节点读取原来的数据,读到的数据会转移到新增加的节点A中。 step 4:增加节点A后,服务器端会同时运行手动的转移脚本,转移脚本直接将B节点中符合A
校内正式更名 人人等你参与
视频下载中... window.onload = function(){ var videoPlayer = new SWFObject("http://xnimg.cn/100800/marksfine/videoPlayer_v3.swf", "mymovie", "450", "338", "8", "#336699"); videoPlayer.addParam("quality", "high"); videoPlayer.addParam("wmode", "transparent"); videoPlayer.addParam("salign", "t"); videoPlayer.addParam("allowfullscreen", "true"); videoPlayer.addVariable("videoListUrl", "http://xnimg.cn/100800/marksfine/thumbnailList.xml"); videoPlayer.addVariable("autoPlay", "true"); videoPlayer.write(
SEARCH
Update
- 54chen Twitter memo 2012-02-12
- 人肉解析riak_admin join
- go语言安装手记
- 54chen Twitter memo 2012-02-05
- Riak Core说明
- maven库nexus拖不到jar包小记
- 服务接入层小结
- 54chen Twitter memo 2012-01-15
- nginx防hashdos模块使用帮助
- 54chen Twitter memo 2012-01-08
- nginx防hashdos模块释出
- 54chen Twitter memo 2012-01-01
- 水煮鱼杯2011年度不得不总结的十件事
- 年终攻击hashDos-哈希表多碰撞实现拒绝服务-破解办法
- 54chen Twitter memo 2011-12-25
