Web services 关于应用程序可扩展性的最佳现代指南是什么?

Web services 关于应用程序可扩展性的最佳现代指南是什么?,web-services,web-applications,scalability,web-hosting,Web Services,Web Applications,Scalability,Web Hosting,我听到很多关于应用程序的伸缩性的说法,但是有很多相互矛盾的信息。一方面,每个web主机都声称在负载增加时通过添加更多服务器来简化扩展,这似乎很简单。但随后又出现了其他服务,声称可以在已经自动缩放的web主机上为您扩展应用程序(如heroku上的heroscale)。如果需要这些服务,那么web主机本身就不可能具有100%的可伸缩性。你仍然会在新闻中听到应用程序一夜之间爆炸,最终崩溃或几乎崩溃,破坏了所有的流量,因为它们的扩展不够好。显然,这些大型应用程序的开发人员已经听说过像heroku这样流行

我听到很多关于应用程序的伸缩性的说法,但是有很多相互矛盾的信息。一方面,每个web主机都声称在负载增加时通过添加更多服务器来简化扩展,这似乎很简单。但随后又出现了其他服务,声称可以在已经自动缩放的web主机上为您扩展应用程序(如heroku上的heroscale)。如果需要这些服务,那么web主机本身就不可能具有100%的可伸缩性。你仍然会在新闻中听到应用程序一夜之间爆炸,最终崩溃或几乎崩溃,破坏了所有的流量,因为它们的扩展不够好。显然,这些大型应用程序的开发人员已经听说过像heroku这样流行的“可伸缩”网络主机,因此,如果他们只需要使用它们,那么就不会有问题。但还是有一个


是否有任何摘要、指南等。这就解释了为什么会发生这种情况,当前的解决方案,以及这些解决方案的可扩展性有多大?我应该从哪里开始寻找呢?

应用程序必须能够利用它获得的额外服务器/资源。这听起来比现在容易。一个常见的问题是,例如,数据库。假设您有一台带有数据库的服务器,并且在某个时间点您会看到该服务器上有太多的负载/太多的连接。现在,您想启动第二个db服务器,但您的应用程序不支持多个db服务器,因此扩展将失败

以下是wooga(社交游戏开发者)关于该主题的演示:

你无法修复未损坏的东西。如果您怀疑您的应用程序存在可扩展性问题,请对其进行评测。您的意思是,与web托管服务相比,应用程序自身的体系结构在高负载下会出现问题?可能是体系结构、实现或可用资源—唯一确定的方法是评测和执行负载测试。