现在的位置: 首页 > 综合 > 正文

分布式学习笔记

2018年03月18日 ⁄ 综合 ⁄ 共 712字 ⁄ 字号 评论关闭

1. master+多slave,slave也提供读,master挂掉之后,读服务可用。 写服务不可用,但是写meta不是一个频繁操作过程。

 

2.  数据table通过hash映射为多个fragment(分片),其中一个为主分片,主分片向从分片同步信息。可能会出现同一时刻出现两个主分片,两个相互同步信息,出现冲突,通过version控制。记录每个primary fragment的version,就能区分过期的主分片。

3. client从master获取分片信息,可能会出现,获取之后。主分片被换掉了,如何搞..

4. client和master通过api交互导致master负载过重。解决方案本地cache,client后去meta信息后(表信息),缓存到本地,不用反复查询master。 缓存失效5分钟...

 

5. 数据的最终一致性读实现,每次读的时候标记一定要读取主分片(主分片一定是最新的)。不指定,可以随机读取。。。

 

6.client从分片server上读取错误,client会重试metaserver重新获取分片信息,更新到本地cache。重新读取。

 

7.数据恢复,磁盘的故障率很高(3/1000)...(如何搞)。机器故障后(自动检测工具),导致部分分片缺失,数据自动回复。首先报给metaserver,meatserver会看一下坏掉的server是否有主分片,如果有主分片,会触发该分片的选主,保证该分片写服务可用。 对于其他从分片丢失,metaserver找到对应分片的主分片,从主分片拷贝数据。同时,需要严格控制每个node恢复的数据流量(入的数量即向该机器拷贝,出的数量拷贝给其他node),避免影响该机器的服务...

抱歉!评论已关闭.