java前沿技术分享,熬夜整理Java面试笔试题

CAP原则

在分布式系统要满足CAP原则,一个提供数据服务的存储系统无法同时满足:数据一致性、数据可用性、分区耐受性。

image.png

C数据一致性:所有应用程序都能访问到相同的数据。 A数据可用性:任何时候,任何应用程序都可以读写访问。 P分区耐受性:系统可以跨网络分区线性伸缩。(通俗来说就是数据的规模可扩展) 在大型网站中通常都是牺牲C,选择AP。为了可能减小数据不一致带来的影响,都会采取各种手段保证数据最终一致。

  • 数据强一致:各个副本的数据在物理存储中总是一致的。

  • 数据用户一致:数据在物理存储的各个副本可能是不一致的,但是通过纠错和校验机制,会确定一个一致的且正确的数据返回给用户。

  • 数据最终一致:物理存储的数据可能不一致,终端用户访问也可能不一致,但是一段时间内数据会达成一致。

一致性算法

  • 使一组服务器在一个值上达成一致,所以活跃的特征在于最终每个服务器都可以决定一个值。

  • 通过值的一致能够实现对同一个数据的请求会让同一个服务器来处理。

  • Paxos和Raft都是通过选取master来实现多节点下值的一致性,从而借助一致性hash算法来分配请求。

一致性Hash算法 一致性Hash算法可以根据不同的属性参数(通常是IP和端口号),生成一串不相同的Hash值,并将Hash值转换成0-2^32-1的整数, 不同范围的值由不同服务器进行处理。(B-C之间的由B处理)。

image

Raft算法和Paxos算法

Raft算法是在Paxos算法的基础上的进行优化。 Raft在Paxos的基础上主要做了两个方向的优化: 1.将复杂的分布式共识问题拆分成领导选举、日志复制和安全性三个问题 2.压缩状态空间:相对于Paxos施加了更合理的限制,减少了系统状态过多而产生的不确定因素。

领导选举(具体以zo

  • 15
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值