水平缩放是什么意思?


Answers:


24

水平缩放
水平缩放本质上是在扩展而不是向上扩展。您无需购买更大的功能更强的服务器并将所有负载移至该服务器上,而是购买额外的1台以上服务器并在其中分配负载。

当您能够同时在服务器上运行多个实例时,将使用水平缩放。通常,从1台服务器迁移到2台服务器要困难得多,而从2台迁移到5、10、50等则要困难得多。

解决了运行并行实例的问题后,您可以充分利用Amazon EC2,Rackspace的Cloud Service,GoGrid等环境,因为您可以根据需求启动和关闭实例,从而减少了为服务器功率付费的需求您不仅仅用来覆盖那些峰值负载。

关系数据库是并行运行完全读取/写入的更困难的项目之一。

我在奥斯汀的StackOverflow DevDays上看到Damien Katz谈到CouchDB,而他创建的主要重点之一就是这些并行实例。由于从第一天开始就一直是它的重点,因此它将更有能力利用水平缩放的优势。

垂直缩放
垂直缩放是相反的,建立而不是扩大。去购买您能负担得起的最强大的硬件,然后在其上放置应用程序,数据库等。

现实世界
当然,这两者都有其优点和缺点。通常,将这两种方法结合使用可得出最终解决方案。

您可能拥有主数据库,每个人都可以在大型硬件上写入和读取实时数据。然后分发只读的数据库副本,以进行更繁重的数据分析和报告,而最新情况却无关紧要。然后,前端Web应用程序可能正在负载平衡器后面的多个Web服务器上运行。


2
Oracle RAC是传统RDBMS中水平扩展的一个示例。
Leigh Riffel

0

当您需要一个需要处理大量写入和并行读取的应用程序时,水平缩放非常有用。考虑一个网站,它获得了大量的流量,并且需要记录该流量,或者需要记录大量事件。

我想最大的好处是可以使用商用硬件来完成水平缩放,而垂直缩放并试图使现有的盒子更大则只能做很多事情。

传统的RDBMS在这里由于各种原因而失败(包括它们是ACID的事实),而NoSQL解决方案在这里表现出色,因为它们可以轻松地水平扩展-但这是另一回事(RDBMS / SQL与NoSQL。)


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.