Java 如何使用SpringMVC在同时增加请求数量的情况下使RESTAPI更具可伸缩性?

Java 如何使用SpringMVC在同时增加请求数量的情况下使RESTAPI更具可伸缩性?,java,spring,rest,spring-mvc,scalability,Java,Spring,Rest,Spring Mvc,Scalability,我使用SpringMVC框架来实现RESTAPI,使用@RestController和@RequestMapping等注释 通过动态增加托管服务器的jvm堆大小,tomcat容器是否可以自己处理多个请求,或者应用程序开发人员是否需要处理它。像这样处理同一get rest api的多个请求的理想方法应该是什么 这里是示例方法签名: @RequestMapping(value = "/domain.com/{sourceID}", method = RequestMethod.GET, produc

我使用SpringMVC框架来实现RESTAPI,使用@RestController和@RequestMapping等注释

通过动态增加托管服务器的
jvm
堆大小,
tomcat
容器是否可以自己处理多个请求,或者应用程序开发人员是否需要处理它。像这样处理同一get rest api的多个请求的理想方法应该是什么

这里是示例方法签名:

@RequestMapping(value = "/domain.com/{sourceID}", method = RequestMethod.GET, produces = "application/json; charset=UTF-8")
public ResponseEntity<?> getCategory(@PathVariable("sourceID") final String sourceID) throws Exception {
@RequestMapping(value=“/domain.com/{sourceID}”,method=RequestMethod.GET,products=“application/json;charset=UTF-8”)
公共响应属性getCategory(@PathVariable(“sourceID”)最终字符串sourceID)引发异常{
tomcat容器是否可以通过动态增加托管服务器jvm的堆大小来自行处理多个请求,还是应用程序开发人员需要处理它

Tomcat容器可以轻松地处理多个请求,但不需要动态增加堆大小

实际上,一旦jvm启动,堆大小就不能更改。如果需要更改,可以使用
-Xmn
-Xmx
-XX:PermSize
设置tomcat的堆大小

像这样处理同一get rest api的多个请求的理想方法应该是什么


这是一个更广泛的问题,取决于项目需求。对于通用应用程序,您可以按原样运行它(将tomcat配置保留为默认配置).

tomcat容器会为不同的请求创建单独的响应对象吗?当然,每个请求都有不同的响应对象。堆大小一直在变化。我说的是分配给tomcat的最大堆大小。Spring可以在多个线程上处理多个请求。使您的应用程序请求无状态(这样您可以在请求之间毫无问题地重新启动服务器),然后如果需要,您可以只运行多个副本(因为您需要更多内存、CPU或其他)。是什么让您认为它已经不可扩展?这看起来像是XY问题。如果您不能给出正确的解决方案,请不要否决我的问题