跳转到主要内容
Chinese, Simplified

根据TechTarget,“高可用性”的通用定义是:

“在信息技术中,高可用性是指在理想的长时间内连续运行的系统或组件。可用性可以相对于“100%运行”或“永不失败”来衡量。

现实情况是,这一短语因其在不同的技术集中包含在营销副本中而在语义上过载。与“大数据”非常相似,对可用性的看法因行业和客户的期望而异。

对于当今的许多应用程序和平台,高可用性对收入有直接影响。一些例子包括:云服务,在线零售,购物车,游戏和博彩以及广告。此外,缺乏可用性会损害用户信任并导致许多社交媒体和聊天应用程序,网站和移动应用程序的糟糕用户体验。 Riak提供关键应用程序所需的高可用性。

可用性 - 由数字衡量

正如我们在名为《Down with Downtime》的信息图中所强调的那样,超过95%的拥有1,000多名员工的企业估计每1小时的停机时间损失超过100,000美元。对于超过两分之一的大型企业,停机成本每小时超过300,000美元。在这个规模的较低端,这是每分钟83美元。在频谱的上端(金融服务),每秒停机时间可达1,800美元。

这种财政影响导致可用性被计算为给定年份的正常运行时间的百分比计算。此百分比通常被称为“可用数量”。例如,“一九”的可用性相当于一年90%的正常运行时间。同样,“五个九”(咨询公司在企业项目中设定的标准)相当于一年内99.999%的可用性。虽然通常会参考该百分比,但实际情况是,这意味着每周的计划外停机时间不会超过6.05秒。

可用性 - 功能还是优势?

通常,在描述Riak时,我首先解释Riak的好处(可用性,可伸缩性,容错性,操作简单性),然后详细讨论这些好处的属性。可用性不是可以添加到系统中的东西(无论是分布式数据库还是其他),而是产品开发中的核心架构决策的结果

例如,考虑AXD 301 ATM交换机。据报道,它向客户提供或高于“九九”(99.9999999%)的可用性。这是一个惊人的数字,每周需要超过6.048毫秒的停机时间。有趣的是,它与Riak共享一个共同的架构组件,也是在Erlang中开发的。

“Riak如何实现高可用性?”或者,或许更好地说,“在Riak中做出的具有高可用性的架构决策是什么?”

可用性 - 架构决策

Riak是一个专为高可用性而设计的无主系统,即使在硬件故障或网络分区的情况下也是如此。任何服务器(在Riak中称为“节点”)都可以为任何传入请求提供服务,并且所有数据都可以跨多个节点进行复制。如果节点遇到中断,其他节点将继续为读写请求提供服务。此外,如果节点变得对群集的其余部分不可用,则相邻节点将接管丢失节点的职责。一旦重新加入群集,相邻节点将新的或更新的数据(称为“对象”)传递回原始节点。此过程称为“提示切换”,它确保自动维护读写可用性,以最大限度地减少节点故障或重新联机时的操作负担。

有关Riak设计中涉及的架构决策的更多信息,请参阅我们的文档。特别是,概念 - 集群部分是深刻的说明。

可用性 - 用例

例如,考虑在Temetra实施Riak。 Temetra拥有数千个用户和数百万米,可创建数十亿个数据点。使用公司的旧SQL数据库很难管理大量涌现的数据。在考虑如何对这个结构化数据库进行彻底检查时,Temetra对Cassandra和Hadoop进行了评估,但由于其高可用性,相对自我维护和易于部署的基础架构,最终选择了Riak。从仪表收集的数据始终可用,因为它依赖于确定Temetra客户的正确计费。

可用性 - 摘要

实际情况是,数据库,甚至像Riak这样的分布式,无主,多模型平台,只是应用程序堆栈的一个组件。 了解您的可用性要求需要深入了解整个部署环境。 “高可用性”无法改装到系统中。 相反,它需要在早期阶段进行有意识的努力,以确保满足客户要求,并且停机不会导致客户流失和收入损失。

Tags
 
Article
知识星球
 
微信公众号
 
视频号