39、构建永不停止的分布式系统:容错、恢复与请求处理策略

构建永不停止的分布式系统:容错、恢复与请求处理策略

构建容错系统的基础

要构建一个容错系统,至少需要两台计算机。Erlang 内置的分布式机制、无共享内存以及异步消息传递,为在这些计算机之间复制数据奠定了基础。即便其中一台计算机崩溃,另一台也能接管工作。而且,单节点系统所采用的错误处理、故障隔离和自我修复技术,在多节点系统中同样能发挥巨大作用,这使得我们可以在集群中透明地分布进程,并使用与单节点相同的故障检测技术。相较于使用其他语言编写处理语义差距的库,利用 Erlang 的编程模型创建容错系统更加容易且可预测。不过,需要注意的是,仅依靠 Erlang 本身并不能直接构建出容错系统,但它的编程模型可以,而且所需的工作量远远小于其他现有技术。

系统的可用性

系统的可用性指的是在特定时间段内系统的正常运行时间。高可用性意味着系统的停机时间非常少,包括软件维护和升级期间。虽然有人声称实现了九个九(99.9999999%)的可用性,但这种情况往往难以持久。九个九的可用性意味着每年仅有 31.6 毫秒的停机时间,这比眨眼的时间还要短得多。在实际应用中,使用 Erlang/OTP 通常可以实现 99.999% 的可用性,即每年的停机时间略超过 5 分钟,这其中还包括了升级和维护时间。

高可用性的实现依赖于系统不存在单点故障,并且具备容错性、恢复能力和可靠性。即便系统部分出现故障,仍能提供一定程度的服务,尽管服务水平可能会低于正常水平。接下来,我们将详细探讨这些特性对于正在构建的系统意味着什么。

系统的容错性

容错性是指系统在出现故障时能够做出可预测响应的能力。故障可能由软件错误(如进程因 bug 或状态损坏而崩溃)、网络或硬

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值