你好,
我正在阅读该项目Quantify在《每个软件架构师应该知道的 97 件事》( sanitised Amazon link ) 一书中,它让我想知道如何量化可扩展性。
我为英国一家大型广播公司设计了两个系统,用于:
- 检测传入 HTTP 请求的来源国家/地区,或
- 确定适合手机屏幕几何形状和当前连接类型的视频格式。
这两种设计都需要提供可扩展性。
我对这两个系统的设计都可以在缓存负载平衡层后面水平扩展,这些负载平衡层用于处理这两个服务的传入请求,并将它们分发到实际提供服务本身的多个服务器上。服务容量的初始增加是通过在负载平衡层后面添加更多服务器来实现的,因此称为水平可扩展性。
但是,如果负载平衡层开始难以处理传入请求流量,则此架构的可扩展性会受到限制。
那么,是否可以量化可扩展性?是否可以估计您可以添加多少额外服务器来水平扩展解决方案?
最佳答案
我认为这取决于可扩展性在给定上下文中的含义,因此答案是取决于。
我已经看到了一些尚不存在的需求的可扩展性。例如,一款新的贷款申请工具专门要求将来需要在 iPhone 和其他移动设备上工作。
我还看到可扩展性用于描述在世界不同地区扩展更多数据中心和 Web 服务器以提高性能的潜力。
如果有一个已知的 future 目标,上面的两个例子都是可以量化的。但是,如果确实没有已知的目标或计划使其成为移动目标,那么可扩展性可能无法量化。
关于scalability - 是否可以将可扩展性量化为需求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1087854/