如果系统必须“扩展”(更强大,更昂贵的服务器)而不是通过分散在许多小型服务器上“扩展”,我一直想知道很长一段时间.
这样的系统是否存在,如果存在,是否有任何特别的东西往往导致系统需要按比例放大,而不是按比例缩小? (例如,ACID投诉数据库事务或其他强大的数据完整性要求可能会产生这种需求.)
由于扩展似乎会带来比扩展更高的硬件成本,如果可能的话,它似乎是你想要避免的东西,但我不确定它是否总是可以避免.
那么,是否存在无法扩展的系统,而是必须按比例放大?是什么导致这种情况,以及如何识别这样的系统? (它们是否通常具有一些共同特征,可能使它们更易于识别?)
解决方法
我主要使用具有
zero horizontal scaling potential的应用程序.即使它在Linux上运行,应用程序,数据结构和I / O要求也迫使我“扩展”到逐步扩大的系统,以适应增加的用户工作负载.
许多传统的业务线和事务应用程序都具有这些类型的约束.这是我强调业界关注云解决方案和DevOps驱动的网络规模架构忽略了很大比例的计算世界的原因之一.
不幸的是,我所描述的放大系统确实是不合时宜的,因此业界往往忽略了它们的价值,或者忽视了解决大型关键系统所需的技能(例如cattle versus pets).