Jam*_*l H 1 traffic scalability
我对扩展服务器的技术感到非常困惑
假设您在一台具有 12 核 CPU 的计算机上运行了一台高流量服务器,以及一台用于数据库的服务器。
有一段时间这会起作用,但是如果并发用户数变得非常高怎么办?一个人将如何衡量?只有这么多,您可以增强一台服务器来处理。
我已经在互联网上搜索了一段时间,但无法真正找到概述如何做到这一点的答案。例如,facebook 如何处理这么多用户?如果有人有任何答案或可以向我指出任何资源,我将不胜感激
小智 5
你是对的,只有这么多内存和你可以在服务器上通过的处理器。更不用说如果您只有一台服务器运行您的应用程序,那么您将所有鸡蛋放在一个篮子里。如果您的单个服务器出现故障怎么办?
所以我们向外扩展,我们添加多个运行相同应用程序的服务器来增加可扩展性和高可用性以及负载平衡。
我们可以同时扩展应用层和数据库层。
您可以使用的另一种技术是卸载。例如,您可以在设计中引入内容交付网络 (CDN)。使用 CDN,我们可以将内容缓存在全球的边缘节点上。这样,我们应用程序的用户就可以在本地访问内容,而不必连接到可能远在数十万英里之外的一组服务器来访问您的应用程序。这样做的结果是您需要更少的服务器,因为大多数内容请求将由 CDN 提供服务,这意味着服务器本身的负载更少。
另一种卸载方法是在应用程序服务器和数据库服务器之间添加缓存轮胎。在内存缓存中使用 REDIS 或 MEMCACHED 可以将常见请求的查询缓存在 REDIS / MEMCACHED 集群上,而不是从数据库服务器中检索。这会加快对数据库的访问速度,并再次产生连锁反应,我们将需要越来越少的数据库服务器。
谷歌、Facebook 和所有大型互联网应用程序都使用技术等等。
CDN https://en.wikipedia.org/wiki/Content_delivery_network
优雅地缩放 http://philip.greenspun.com/seia/scaling
希望这可以帮助,
麦克风。