首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一个系统设计问题

一个系统设计问题
EN

Stack Overflow用户
提问于 2010-06-29 04:02:13
回答 2查看 213关注 0票数 4

我在一家从事云计算的公司面试时问了以下问题,但回答得不好。任何关于如何分析这个问题的建议都将不胜感激。

我们的公司拥有数以亿计的用户,我们希望在生产中实现零停机,解释有助于提高前端、中间层和后端服务(包括数据库服务)的冗余和故障转移能力的技术和编程实践。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-06-29 04:11:28

这是一个相当宽泛的问题。如果他们希望零停机时间,告诉他们忘了它,或者把所有的利润都投入到构建冗余中。现在,如果他们只想要“5个9”,或者99.999%的正常运行时间,那么我们可以谈谈。:)

您通常可以用关于构建可持续的、自动化的、包含大量单元测试的构建环境的常规废话来回答这类问题。使用MVC或类似的设计模式可以帮助提高可测试性。执行定期安全审计。这不仅仅是一个开发问题,这是一个关于网络和服务器架构、维护二级和三级数据中心等的问题。这些类型的问题确实给了你一个机会让面试官感觉到自己很重要。

票数 0
EN

Stack Overflow用户

发布于 2010-06-29 04:38:18

这个问题与"Impossible Question" from Joel.非常相似,这个问题没有正确的答案。

我将开始将其分解为所有可能的故障点的列表:

  • 数据库服务器层服务器中间层Server
  • Application
  • Web

然后,对于其中的每一个,我都会找出损坏的原因,以及如何在不停机的情况下恢复。对于那些我不知道答案的问题,我也会承认。

例如,让我们构建一个数据库服务器停机原因的列表。因为我们在寻找100%的正常运行时间,所以我们不会忽略任何东西--无论多么离谱

  • 硬件坏了
  • 电源断电
  • 网卡断电
  • 操作系统意外崩溃升级中断系统管理员或数据库管理员<

>H126

  • 哑巴看门人

一些可能的解决方案(考虑Windows后端上的SQL Server )

在door

  • Database镜像上锁定
  • (使用常规故障切换testing)
  • Multiple NICS
  • Clustering (使用常规故障切换测试)
  • Get better people

你基本上可以一直回答这个问题,直到面试官认输,因为这个问题真的没有一个正确的答案。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3135728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档