分布式存储系统设计经验谈(一)-常用理论

【本文仅代表作者个人观点,欢迎吐槽,欢迎转载(转载请标明来源)!】
最近一直在忙着搭建solr的分布式环境,对分布式系统的认识又多了一些,抽空总结一下:
在分布式系统设计过程中,常见的如使用客户端hash来进行sharding,使用replicaiton机制来实现backup和loadbalance,在这些东西的背后,设计一个分布式系统又需要考虑哪些东西呢?
CAP理论是分布式设计设计的基础理论:Consistency(一致性),Availability(可用性),Partition tolerance(分布)三部分在设计系统时只可满足2中,不能3者兼顾。
Base理论:Basically Availble –基本可用,Soft-state –软状态/柔性事务,Eventual Consistency –最终一致性。
最终一致性:最终结果必须保持一致性。
I/O五分钟法则:如果一条记录频繁被访问,就应该放到内存里,否则的话就应该待在硬盘上按需要再访问。
几种常见的手段:
1.一致性hash:一致性哈希算法(Consistent Hashing Algorithm)是一种分布式算法,常用于负载均衡.网上例子很多,可以上网搜下。
2.Quorum NRW:N: 复制的节点数量,R: 成功读操作的最小节点数,W: 成功写操作的最小节点数,只需W + R > N,就可以保证强一致性。
3.Vector clock:vector clock算法。
4.Virtual node:虚拟节点,常与一致性hash相结合。

over!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值