Using asynchrony with web applications
Internet Information Server (IIS) has limits on the number of requests and I/O threads it can use. Blocking any of these threads means IIS is forced to wait until the thread is released before another request can be processed. When there are no threads available to process requests (because of blocking or a high-server load), requests start to queue up, and over time, that queue can grow until it reaches its maximum size, at which point the dreaded 503 Service Unavailable
message will be displayed to the visitors on your site. This is not really what you want.
Historically, developers may have overlooked the benefits of using an asynchronous design when it came to web application design. This oversight may have been due to a mindset or limitations of the available technology. The rise of Node.js
and similar asynchronous-based technologies demonstrates that this mentality is quickly changing. Most developers want a responsive, scalable web application...