Quorum机制与NRW算法
来源:互联网 发布:企业qq与qq的端口号 编辑:程序博客网 时间:2024/05/16 08:59
1.Quorum机制
Quorum,原指为了处理事务、拥有做出决定的权力而必须出席的众议员或参议员的数量(一般指半数以上)。
2.NRW算法
NRW算法是基于Quorum机制的是一种CP(Consistency&Partion tolerance)算法。用于在数据一致性和可靠性之间达到一种平衡。为了保证系统的正常运行,能够提供可靠的服务,分布式系统中对于数据的存储采用多份数据副本,但是这种解决方案在数据读写的过程中会造成数据的不一致性。我们知道要解决数据一致性问题,就是数据的处理方式采用Read Only Write All原则,即在分布式环境中,所有节点更新完毕后,读操作才能进行,保证数据的强一致性。这种虽然保证了数据的在某一刻的强一致性,但是极其影响系统的性能。在一个读操作非常频繁的分布式环境中,写操作的耗时,直接阻塞了读的操作。导致读和写的负载不均衡。
基于 Quorum机制的 NRW算法就是在读和写的负载上达到一定平衡的同时,保证数据的强一致性。机制的主要思想来源于鸽巢原理。即当数据备份存在N份时,k份数据已经更新,那么只要获取
3.NRW算法规则
一般我们都会对程序进行优化,即如何实现最小数据备份的情况下,保证数据一致性和读写的均衡?
假设需要备份
1.Vr+Vw>N即读操作副本量+写操作副本量必须大于数据副本量。这就即保证必定有一个副本是操作之后的值,同时保证了数据副本要么处于W写操作中,要么处于R读操作中。这里的读写状态是针对外部来讲的,分布式环境对外部来说,同一时刻只存在一种操作(容斥定理),相当于读写锁,但比加锁(一种悲观的策略)的方式更加高效。对于分布式环境内部,读和写操作只是部分节点的操作。同时限定了最小读副本数量和最小写副本数量。该策略中,只需要保证
2.Vw>N/2 保证了数据的串行化修改。一份数据的冗余拷贝不可能同时被两个写请求修改。如
如图所示,在分布式环境
4.读写配置策略
假设
如果
如果
R/W的配置的关系决定了哪种操作的开销。
- Quorum机制与NRW算法
- Quorum/NRW机制
- Quorum/NRW机制
- 一致性算法之Quorum NRW
- 一致性算法之三:Quorum NRW
- 分布式系统之Quorum (NRW)算法
- 分布式系统之Quorum(NRW)算法
- 分布式系统之Quorum (NRW)算法
- Quorum的NRW策略
- Quorum的NRW策略
- Quorum的NRW策略
- Nosql理论之Quorum NRW
- Quorum 机制
- Quorum 机制
- Quorum机制
- Quorum
- 分布式系统读写模型中的Quorum机制
- 分布式Quorum机制,NWR策略读写模型
- container_of宏
- Android中Http加载如何得到Cookie和 WebView 加载网页如何得到的Cookie
- java的进制转换
- caffe的python接口学习(6):用训练好的模型(caffemodel)来分类新的图片
- 跬步
- Quorum机制与NRW算法
- 解决 ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES) 问题
- AndroidStudio 开发中问题总结
- GitHub使用
- 快排源码
- 深度模型的优化(一)——梯度下降法
- 对vector等STL标准容器进行排序操作
- caffe的python接口学习(7):绘制loss和accuracy曲线
- Job_search_collection