15、成功扩展:集群化与Akka集群实践

成功扩展:集群化与Akka集群实践

1. 一致性的滑动标尺

在实际应用中,一致性、可用性和分区容错性(CAP)这三个权衡指标并非非此即彼的选择,而更像是可以调节的滑块。

在最终一致性系统里,若要查找的记录有三个副本,不同的查询方式会带来不同的一致性程度:
- 低一致性 :只要求任意一个节点返回记录。
- 较高一致性 :要求三个节点中的任意两个返回数据。
- 最高一致性 :要求所有三个节点都提供结果。

获取节点数据后,可借助多种机制对记录排序,从而选取最新的记录。不过,追求高一致性可能会牺牲分区容错性。若需要所有三个副本都可用,那么就无法容忍其中一个节点消失。通常,只要求多数节点正常运行并提供视图,是在一致性和分区容错性之间的不错权衡。

由于节点时钟往往无法完美同步,排序本身也是个问题,因此会使用诸如向量时钟等其他排序机制。

同样,在CP(一致性和分区容错性)系统中,允许从次要节点读取数据,可牺牲一些一致性来换取更高的可用性。若将写操作保留在主节点上,写操作仍能保持高度一致,但读操作变为最终一致,这样数据库在读操作上就变成了AP(可用性和分区容错性)系统。

我们可以根据具体用例“调整”CAP策略,以满足自身需求。甚至可以在同一应用的同一数据存储中,针对不同类型的数据混合使用这些策略。

2. 使用Akka集群构建系统

这里将重新探讨文章解析和键值存储两个问题,并介绍如何使用Akka集群将它们分布到多个服务器上。假设已构建的应用需要扩展到单个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值