我正在使用部署在AWS Beanstalk上的Spring Boot开发Rest API。潜在地,该服务每天都会受到成千上万客户的欢迎。因此,我想了解Spring Boot处理多个请求的功能。
根据我在Spring-Boot中阅读的内容:并发处理多个请求以及如何在Spring Boot中具有线程安全控制器,看来Spring Boot可以在控制器为线程安全的同时并发处理请求。
但是,如果同时向同一端点发出两个请求以进行更新,那么控制器是一个接一个地处理请求还是与两个并行的线程同时处理?如果是后者,则每个线程是否都有自己的实体管理器?有没有一种方法可以实现一个线程池,以根据EC2实例的容量来限制线程数?顺便说一句,如何根据估计的请求量来决定从一个实例开始的大小?
是的,Spring Boot可以同时处理请求!您可以通过添加server.tomcat.max- threads到application.properties或中来限制并发请求的数量application.yml。Spring将管理连接池并处理实体管理器的分配(根据您在属性中指定的最小和最大连接数)。我相信您可以在此处了解更多信息:使用Spring JPA(hibernate)实体管理器何时将连接返回到连接池
server.tomcat.max- threads
application.properties
application.yml