【发布时间】:2010-12-09 10:13:22
【问题描述】:
我一直在阅读有关 Stage Event Driven Architecture (SEDA) 和异步 I/O 概念的一些内容。我遇到过一些人在谈论实现 SEDA 来处理 HTTP 请求。示例:
- Web 服务器接收客户端 HTTP 请求。
- 请求被放入队列
- 有限数量的消费者中的一个从队列中提取请求
- 请求被处理,可能通过典型的 MVC 框架(例如 Spring MVC)
- 响应发送回客户端
这样做的动机被描述为控制来自客户端的负载的能力 - 即它的扩展性比仅在接受它的同一线程中处理请求要好得多。一旦一个请求排队,接收该请求的线程就可以立即接受另一个请求。
这种类型的模型,或者类似的模型,肯定已经在 Tomcat、Jetty 等 servlet 容器中实现了吗?我一直在做的阅读几乎意味着此类容器没有实现这种方法,因此在高流量环境中的可扩展性方面存在问题。
谁能帮我解决这个问题?
【问题讨论】:
标签: tomcat servlets asynchronous