Web服务器上的并发传入请求

时间:2016-07-16 14:51:43

标签: networking concurrency database-concurrency

我对电子商务网站闪购期间出现的情况有疑问。假设库存中只有5个项目,如果10000个请求在同一时刻到达服务器,服务器如何处理请求以及如何设置订单请求?

1 个答案:

答案 0 :(得分:0)

考虑到当前计算机的CPU速度,如here

  

每秒100万个请求,每1000个请求1个   cpu cycles。

虽然请求来自世界各地,但它们是通过单一渠道接收的。这意味着即使它们是在同一时间发起的,两个请求也会相继发送。如果考虑两个请求的路由条件,则接收的时间肯定不会相同。他们不可能在同一时间点击服务器。因为路由不允许它以防止冲突。

因此,处理请求的顺序是它们在网络接口处接收的顺序。请求数据包通过应用程序层后,每个客户端都有一个专用于自己的线程。但是,您提到的共享变量(如您提到的5个项目)的访问权限将同步。因此,只有获得这些共享变量锁定的前5个线程才会获胜。