2014-09-02 54 views
0

今天我收到了这个采访问题'为什么在云基础架构上构建容错应用程序时需要编写容错应用程序?'
我回答:它们难以调试,难以修复,以便更好地得到很好的测试和鲁棒性。数据库中的数据可以在后续读取之间进行更改(没有状态服务器),并且有许多事情可能会在中间失败,所以必须为意外情况做好准备。为什么需要在云基础架构上构建容错应用程序?

我有没有正确回答它,我错过了什么?

回答

1

我不认为这是一个特别好的问题。

他们可能会想到一些基于云的系统,通常是大规模的,它们有许多独立的组件,通常运行在不同的硬件上,而且你不希望某些任务运行,例如1000台服务器因为其中一台服务器发生故障或硬件故障。

服务器的数量越多,其中一个服务器在任何给定“运行”期间失败的统计机会就越大,因此他们可能试图弄清楚这一点,并让你说整个系统应该“容忍”一个一台或多台个人服务器出现故障。

不过,也有许多小的非关键网站/博客/网络应用也对云基础架构上运行,并且可能不需要,或证明的费用,把重点放在容错。

同样,也有很多应具有容错能力的设计考虑的一个关键部分非云应用。例如起搏器或汽车安全气囊控制器,尽管它们不在云中运行(我希望...)。