写点什么

第 6 周学习总结

用户头像
饭桶
关注
发布于: 2020 年 10 月 29 日

Cap

C:一致性

A:可用性。并不保证数据的一致性。

P :分区耐受性.



C和A无法同时满足.



最终一致性

1,通过时间戳,最后写入覆盖;

2,客户端程序自己实现数据的合并;

3,投票解决冲突;写三分,2分成功,则表示成功;读也是一样;

4,zk中心化



NoSQL对集群的伸缩比较容易。hbase存储(LSM)树。



传统数据库事务处理:acid

NoSQL事务处理:BASE



BA:基本可用;

S:软状态。可以存在中间状态,只要达到最终一致性就行了。

E:最终一致性。



分布是系统脑裂

两个masterA,B。一部分client访问A,一部分client访问B。则会出现A和B不一致。这就叫脑裂。



分布式一致性算法

多个master向proposer发起投票【那个master是ative master】,acceptors进行投票,learner是统计投票结果,client通过learner拿到最终结果。



Zab协议

leader和follower



client将请求发给其中一个follower,然后follower将请求发给leader,leader向所有的follower发起投票提案;所有的follower投票完成后将其结果返回给leader;leader统计结果,并将结果的状态同步给各个follower。这样follower的状态就一致了。



Zk

1,负载均衡与失效转移



写的性能比读的性能差。



技术评审

1,为什么要这个系统

2,达到什么样的目标

3,关键技术如何设计

4,如何能够完成目标

5,最后的效果如何



1,当前现状,现状分析;

2,产品需求;

3,技术指标;

4,技术架构;

5,产品规划;



每个虚拟节点数据对应一个文件,当迁移的时候,根据映射关系的调整,将虚拟节点的文件迁移到新的服务器上即可。



高可用的设计

写多份,一般是两份。读一份。



健康检查

1,configServer对DataServer心跳检查;

2,Client访问时,Fail报告;

3,其他Client定时配置抓取;



失效场景

1,瞬时失效;重试3次;

2,临时失效

服务端升级或者网络暂时不可用;

失效机器在段时间内可恢复(例如);

回复后数据和失效前一致;



伸缩性设计

一个group在十几分钟内能够完成扩容,就用两个group就行了



用户头像

饭桶

关注

还未添加个人签名 2020.07.27 加入

还未添加个人简介

评论

发布
暂无评论
第6周学习总结