避免系统串联

削减以串联方法衔接的组件数。无论何时要添加组件都实用。删除不需要的组件或添加它们的多个版本,将影响最小化。串联组件会使故障成倍增长。避免给体系添加串联组件。假如必定须要,则添加该组件的多个版本,如许一个版本出故障了,其他的版本还可以取代它。

电路中的组件可以以各类方法衔接,最简略的两种衔接办法就是串联和并联。串联电路中的组件,如电阻器和电容器,是依照一条路径衔接的。在这种电路中,电流会流经每个组件,电阻和电压是累加的。一个电路有3个电阻器,另一个电路有3个电池图中还标示出所发生的电阻和电压。假如任何一个组件出了故障,如一个电阻熔断,那么全部电路都邑出故障。

展现的是两个并联电路,上面的谁人电路有3个电阻(和个电压电源或电容器),下面的电路有3个电池。总电阻是每个电阻的倒数之和的倒数。依据界说,总电阻必定小于最小的电阻。此外还要留意,电压并未转变,且电池只供给一部门电流,从而延伸了它们的应用寿命。留意,在这种电路中,一个组件出了故障并不会激发全部电路的故障。

体系架构和电路有很多类似之处。办事器和收集装备就是组件。体系中有的组件是Web办事器,有些是运用办事器,有些是负率载平衡器,还有可能会是数据库办事器。这些组件都可以并联衔接,也可以串联衔接。一个简略的例子就是具有很年夜流量的静态站点。你可以用10个Web办事器放置统一个静态站点来供给流量。也可以应用一个负载平衡器来定向流量,或分派10个自力的P地址,经由过程DNS与你的域联系关系在一路。这些Web办事器是以并联方法衔接的,就像图9-3中的电池。一台Web办事器须要处置的流量只是总量的一小部门,假如一台办事器涌现了故障,全部站点仍是可用的,因为还有其他9台Web办事器。

作为一个更典范的串联架构的例子,让我们来添加一些层。一个尺度的三层站点,有一台Web办事器、一台运用办事器和一台数据库办事器,我们用一个架构把它们串联起来。为了完成一个要求,Web办事器必需先接收它,然后把它传递给运用办事器,运用办事器再査询数据库。然后运用办事器吸收返回的数据据,对数据进行操作,再将成果发还Web办事器,最终由Web办事器知足客户的要求。假如该电路或架构中的任何组件坏了,全部体系都邑中止工作。

这把我们带回了实际世界中的架构。几乎总会有请求把体系组件串联衔接在一路。在你斟酌到负载平衡器、Web和运用层、数据库、存储体系等时,要坚持体系运行就须要很多组件。当然,以并联方法添加组件,即使各个层是以串联方法衔接的,也有助于削减由一个组件出故障而导致全部体系出故障的风险。把流量分派到多台web办事器上,如许假如只有一台Web办事器出故障了,也不会导致全部体系出故障。在Web和运用层,很多人认可这一理念。而在数据库和收集层,很多人则会疏忽这个问题。假如Web和运用办事器都是以并联方法衔接的,但它们却都要串联到一个数据库上,那么这一个组件就会造成灾害性的故障。

至于收集组件,我们经常能看到一些架构很留意以并联方法衔接办事器,但完整疏忽了收集装备,尤其是防火墙。防火墙在收集中是很常见的,关于防火墙的评论辩论。在这种情形下,流量要先经由防火墙,然后再经由负载平衡器、防火墙、交流机,随后达到Web办事器、运用办事器、数据库办事器,最后再原路返回。至少要阅历7种组件各两次。假如经由了6个组件,再加一个组件,又有什么年夜不了呢?

串联的组件会使故障风险成倍增长。一个简略的例子是,假如我们有两台串联的办事器,每台有9.9%的可用性或正常运行时光,那么体系的总可用性就会小于99.9%×99.9%=99.8%6。假如我们以串联方法参加第三个组件,同样,我们获得的可用性会更低,即99.9%×99.9%×99.9%0=99.7%0。以串联方法参加体系的组件越多,体系的可用性越低。表94列出了一些简略的盘算,可以看出,跟着可用性下降,每月停机的时光会增长。以串联方法每向体系参加一个组件(可用性为99.9%),每月的停机时光就会增长约43分钟。

像当今年夜多半电路一样,你的网站扶植体系也比简略的串联或并列许接多了,是以,要准确估计可用性,比我们这个简略的例子要庞杂多了。你能懂得到串联的组件会年夜年夜进步体系停机的风险。当然,削减串联的组件,或者并联地添加这些组件的多个版本,就可以削减这种风险。

相關文章: