gpt4 book ai didi

java - 适用于所有服务器请求类型的单个 servlet 与多个 servlet——每种请求类型对应一个

转载 作者:行者123 更新时间:2023-11-30 11:16:57 25 4
gpt4 key购买 nike

假设在一个高流量的网络服务器上,有来自客户端的不同类型的请求。例如:用户请求与内部/管理类型。并且,在用户请求中,有些人你想更迅速地服务(因为它们对时间要求更高,更频繁,等等)。

处理这些请求的单个 servlet 是“轻型的”——它看到每个请求是关于什么的,并立即调用后端进程来处理它。

因此,如果您想对这些请求进行优先排序,您可以在服务器上对这些后端进程进行优先排序——给它们更多的 CPU 时间,为它们分配多个服务器实例,等等。

这里的问题是:是否做同样的事情servlet 以及这些后端进程是否是一个问题。我知道 servlet 容器(在本例中为 Tomcat)有一些机制——虽然我不知道到底是什么/如何。

在这个讨论的一方面——:编写不同的 servlet针对不同的客户请求,以便您可以在服务器级别管理它们的优先级/执行时间。

另一方面——,一点也不:servlet(s) 正在处理请求并分发它们到相应的进程,而不会燃烧执行时间。时间紧迫的是后端流程。事实上,这正是 Spring 正在做的——将 DispatcherServlet 作为所有传入请求的前端 Controller 。作为所有请求的前端 Controller 的单个 servlet 是合理的体系结构。

这个讨论是几天前出现的。直到那时,我站在“不”的一边——上面那一段。但是,我现在不是很清楚。我想知道什么是对这一说法的合理反驳“管理 servlet 类型的优先级提高了为客户请求提供服务的时间性能。”

TIA。

//=========================================== =====

编辑:

如果上面的情况"is",那么Spring如何告诉servlet 容器了解不同类型的请求,以便 s.container 可以对它们进行优先级排序?

最佳答案

我认为请求优先级不会对线程时间执行产生巨大影响,除非我们谈论的是像单个 Web 服务器上的数百万线程这样的巨大流量。但是如果那是你想要的,你可以配置 tomcat 来确定优先级线程。 Tomcat 允许您指定执行程序线程池中每个线程的优先级:tomcat thread pool

关于java - 适用于所有服务器请求类型的单个 servlet 与多个 servlet——每种请求类型对应一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24626253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com