老师,课程上描述的一个tomcat只有一个servlet实例

来源:3-7 Controller层代码架子的搭建

长月原

2022-04-17

课程描述的 servlet的初始化只有一次,可以理解成tomcat中只管理了一个servlert实例。
那么如果高并发场景下,需要多个servlet,应该怎么处理呢?

还有servlet实例一旦初始化之后在tomcat容器中的生命周期是永不过期吗?
如果tomcat一直不重启,会不会造成oom?

写回答

1回答

翔仔

2022-04-18

同学好,一般tomat会有线程池,通过多线程单sevlet来处理请求,如果请求超过线程池数就会有问题,这个时候一般都会进行水平扩容,即把请求通过负载均衡分散到多个容器里去处理。此外,servlet实例通常创建后除非容器关闭或者遇到异常,通常情况下都会存活,如果程序写得不好,会OOM,但是一般我们上线前是要去做足够的压测,并且观察是否会有内存泄露的,所以基本会避免

0
1
长月原
好的,谢谢老师解答
2022-04-18
共1条回复

剑指Java自研框架,决胜Spring源码

快速入门Spring核心源码+从零开发自研框架

1498 学习 · 495 问题

查看课程