我一直在閱讀關於舞臺事件驅動架構(SEDA)和異步I/O的概念。我遇到過幾個人在討論如何實現SEDA來處理HTTP請求。例如:Servlet容器中的分步異步處理?
- Web服務器接收客戶端HTTP請求。
- 請求被放置到隊列
- 一,消費者的數量有限,拾取從隊列請求
- 請求被處理時,通過典型的MVC架構(例如彈簧MVC)
- 響應被髮送也許回到客戶端
這樣做的動機被描述爲能夠控制來自客戶端的負載 - 也就是說,它將比在接受它的同一線程中處理請求要好得多。一旦請求排隊,提取請求的線程立即可用來接受另一個請求。
當然,這種類型的模型或者類似的東西已經在servlet容器中實現了,例如Tomcat,Jetty?我一直在做的閱讀幾乎意味着這樣的容器沒有實現這種方法,因此在高流量環境中的可伸縮性方面會有問題。
任何人都可以爲我清除此事嗎?