Sab*_*aby 5 concurrency multithreading
会发生什么:如果我编写一个服务器应用程序,它有数百万个线程的线程池支持,并且它每秒收到数百万个请求
我一直致力于开发 Web 服务。Web 服务部署在具有前端负载平衡器的 1000 台计算机上。负载平衡器的工作是在实际处理 Web 请求的服务器之间分配流量。所以我的问题是,由于在负载均衡器本身内部运行的进程必须是单线程来侦听端口上的 Web 请求,它如何处理每秒接受数百万个请求。负载均衡器可能正忙于委派任务,那么此时传入的请求会发生什么?
在我看来,所有客户端都不会被处理,因为只有一个请求处理线程将传入的请求传递给线程池
这样,任何多线程服务器都不应该工作。我想知道 facebook/amazon 是如何每秒处理数百万个请求的。
你是对的,这不会起作用。单台计算机可以处理的数据量是有限制的,这与它运行的线程数量无关。
亚马逊和 Facebook 等的处理方式是在世界各地拥有数百或数千台服务器,然后将请求传递到这些不同的服务器。这是一个很大的主题,所以如果您想了解更多信息,我建议您阅读分布式计算,如果您有具体问题,请回来。
| 归档时间: |
|
| 查看次数: |
3078 次 |
| 最近记录: |