我在一家从事云计算的公司面试时问了以下问题,但回答得不好。任何关于如何分析这个问题的建议都将不胜感激。
我们的公司拥有数以亿计的用户,我们希望在生产中实现零停机,解释有助于提高前端、中间层和后端服务(包括数据库服务)的冗余和故障转移能力的技术和编程实践。
发布于 2010-06-29 04:11:28
这是一个相当宽泛的问题。如果他们希望零停机时间,告诉他们忘了它,或者把所有的利润都投入到构建冗余中。现在,如果他们只想要“5个9”,或者99.999%的正常运行时间,那么我们可以谈谈。:)
您通常可以用关于构建可持续的、自动化的、包含大量单元测试的构建环境的常规废话来回答这类问题。使用MVC或类似的设计模式可以帮助提高可测试性。执行定期安全审计。这不仅仅是一个开发问题,这是一个关于网络和服务器架构、维护二级和三级数据中心等的问题。这些类型的问题确实给了你一个机会让面试官感觉到自己很重要。
发布于 2010-06-29 04:38:18
这个问题与"Impossible Question" from Joel.非常相似,这个问题没有正确的答案。
我将开始将其分解为所有可能的故障点的列表:
然后,对于其中的每一个,我都会找出损坏的原因,以及如何在不停机的情况下恢复。对于那些我不知道答案的问题,我也会承认。
例如,让我们构建一个数据库服务器停机原因的列表。因为我们在寻找100%的正常运行时间,所以我们不会忽略任何东西--无论多么离谱
>H126
一些可能的解决方案(考虑Windows后端上的SQL Server )
在door
你基本上可以一直回答这个问题,直到面试官认输,因为这个问题真的没有一个正确的答案。
https://stackoverflow.com/questions/3135728
复制相似问题