【问题标题】:Why is the estimation of system constraints needed in system design interviews?为什么在系统设计面试中需要估计系统约束?
【发布时间】:2018-08-22 01:18:43
【问题描述】:

我是一名没有系统设计经验的初级软件开发人员,目前我正在准备系统设计面试。我在许多网站上读到,我必须对我要设计的系统的规模做出一些估计。为了在我专注于扩展、分区、负载平衡和缓存时为我提供帮助。

这些估计的示例:

  • 活跃用户总数
  • 每秒请求总数
  • 每秒和每年保存的数据总量

我的问题是,我不知道如何处理这些估算值?

在面试中,我可以建议添加负载均衡和更多主机,添加缓存层,添加主从数据库服务器,...等等,以提高性能,我可以讨论每个解决方案的权衡和将来选择哪种解决方案。但是我为什么要带着这些数字呢?

例如,每秒的请求数将如何影响我的设计? 主机是否有每秒最大请求数?数据库管理系统有最大大小吗?我认为这两个问题的答案都是否定的,这取决于很多因素,确定主机的数量或数据库分片的需要或实际生活中的主从服务器设计取决于实际的实验和测试。如有错误请指正,谢谢!

【问题讨论】:

    标签: architecture system-design


    【解决方案1】:

    例如,每秒的请求数将如何影响我的设计? 每秒10个请求,不需要负载均衡器,每秒10000个请求,你需要看负载均衡器,无状态扩展等

    主机每秒有最大请求数吗?是的,这不是绝对的,但在某些时候,您需要在架构上设计更多的可扩展性。

    数据库管理系统有最大大小吗? 实际上,是的。它还让您考虑 NoSQL 选项等。如果您正在查看 PB 级数据,您可能应该三思而后行,将其全部放入关系数据库中。

    在现实生活中,它们并不总是一成不变的,但它可以开始对话,并将焦点集中在最重要的缩放因素上。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-13
      • 2014-11-20
      • 2022-11-22
      • 1970-01-01
      • 2022-08-20
      • 2022-07-22
      • 2012-05-19
      • 1970-01-01
      相关资源
      最近更新 更多