Wit*_*292 3 failover redundancy best-practices
我正在开发一个客户端-服务器系统,其中所有客户端目前都将他们的交易提交到基本上一个单一的西海岸 IP 地址,以到达所谓的“网关”应用程序。网关进行一些记帐并将每个事务分派到多个数据库服务器中的任何一个进行最终处理。服务器将结果直接返回给客户端(而不是通过网关返回)。
计划是在东海岸添加第二个网关,用于冗余和故障转移。它通常仅处于备用状态,旨在在工作网关出现故障时接管并成为实际网关,本质上是此处所示的经典配置。
一些参与者认为只有一个备用网关是不够的,我们还应该实施第二个备用网关,比如在中西部。其他人则争辩说,两个备用站的额外成本、复杂性和管理是不必要的,并且两个海岸上网关同时不可用的可能性大到不必担心。
什么被认为是最佳实践?多少冗余(就客户端可用的物理独立接入点而言)通常被认为是名义上的?双重故障是否足够普遍,以至于经常会后悔只有一个备用?
编辑:关于“计算”成本与我需要或想要的冗余量的收益,我想最好将我的问题改写为:
指示地理上不同的 IP 地址集合同时无法访问的频率的统计数据在哪里?
换句话说,像这样的表
On average, 1 west coast IP + 1 east cost IP
are simultaneously unreachable 1 day/year.
On average, 1 west IP + 1 east IP + 1 southern IP
are simultaneously unreachable 1 hr/year.
On average, 1 west IP + 1 east IP + 1 southern IP + 1 northern IP
are simultaneously unreachable 1 minute/year.
etc.
Run Code Online (Sandbox Code Playgroud)
使得选择所需的冗余量变得相当容易,因为有一个实际基础来计算成本与性能。(我猜“同时无法访问”必须意味着“大量随机分散在全国各地的客户端”,因为单个客户端可能无法访问任何服务器,无论有多少服务器,因为她自己的本地网络故障。)
但是,如果没有这样的表,任何冗余与性能计算都只是猜测。那么: 是否有任何现实生活可用性数据的来源可以作为此类计算的基础? 还是每个人都只是猜测他们需要什么,并在发现他们猜得低时根据需要进行扩展,或者如果他们猜得高就减少?
提供容错产品的公司似乎希望收集和推广此类数据。另一方面,也许数据会显示 99.99% 的容错客户根本不需要太多冗余。例如,如果我可以使用一整年并且我的东部和西部 IP 地址永远无法同时访问,我就不会考虑添加中西部 IP。
我还意识到由于我的站点外部的力量无法访问 IP 地址和由于我的站点内部出现故障而关闭的 IP 地址之间存在区别。内部故障(在我这边的 IP 地址)相对容易处理。外部故障(在 IP 地址的客户端,例如加利福尼亚因地震而下线,或纽约在飓风期间下线)我只能通过在其他某个地理位置拥有额外的 IP 地址来处理。 这是我希望量化的概率。目前,我倾向于声称东西方 IP 地址同时无法访问的可能性太小而无需担心的阵营。
@HopelessN00b 说什么。您必须自己权衡原始成本与收益。
你必须计算:
对此没有最佳实践。
指示地理上不同的 IP 地址集合同时无法访问的频率的统计数据在哪里?
这也要看情况。例如,我们是在谈论没有UPS或他们自己的Generator 的客户的统计数据吗?甚至是来自不同变电站的两条独立电力线?
这也进入了等式。我们公司停电了,因为停电时间太长,以至于我们的 UPS 没电了。
我们开始为我们的整个数据中心购买一台发电机,它可以持续 X 小时,能够在紧急情况下通过燃料下降进行充电,这样即使本地子系统完全瘫痪,我们也可以几乎无限期地继续运行。
也许数据会显示 99.99% 的容错客户根本不需要太多冗余。
完全。
我有客户在单个服务器上、单个位置上运行关键 ($$$) 系统,他们的服务器坚如磐石,因为它只执行一项功能。并发症越少越好。
具有讽刺意味的是,您添加了 DR 解决方案,然后您会遇到比以往更多的中断。