一直有个疑问,当数以千计/万计的访问同时访问一个controller里的路由地址时,能承载的访问量是多大?springmvc又是怎么解决(并发方面)这些访问的呢?
你可能对技术理解的不清晰。支持高并发和springmvc关系不大,可以说tomcat容器本身是一个多线程的环境,很多线程在工作,每个请求到springmvc都启用一个线程去执行。所以重点是你能支持多少个线程,另外单个线程要尽快处理完,避免排队。这个才是高并发的关键。所以有了负载均衡(提高单机线程数),cache(提高执行速度)
springmvc调用的是servlet,servlet调用的是tomcat,最终并发问题还是tomcat来处理的
感觉问的有点驴唇不对马嘴(这里不是贬义),spring mvc是个功能框架,不是spring mvc要考虑的吧,要看你容器调优,架构调优这些来解决
可以了解一下 Tomcat 的 BIO 和 NIO模式,NIO 模式可以抗住高并发
牛
当数以千计/万计的访问同时访问一个controller里的路由地址时,能承载的访问量是多大?
通用处理准则
1、判断某个请求经过了哪些节点处理,是否存在 Onm的节点,提前调优
2、某个请求访问的或更新的 数据量有多大,提前调优
系统完成后,开始测试,根据 产品预估,灌入 几亿、几十亿的数据,从单机开始,不断的压测,观测数据,调优,周而复始,达到外网平均100ms 后,然后发布上线
springmvc又是怎么解决(并发方面)这些访问的呢?
通用处理
1、增加缓存
2、集群处理
3、分布式事务+补偿
4、购买量子计算机
你可能对技术理解的不清晰。支持高并发和springmvc关系不大,可以说tomcat容器本身是一个多线程的环境,很多线程在工作,每个请求到springmvc都启用一个线程去执行。所以重点是你能支持多少个线程,另外单个线程要尽快处理完,避免排队。这个才是高并发的关键。所以有了负载均衡(提高单机线程数),cache(提高执行速度)
springmvc调用的是servlet,servlet调用的是tomcat,最终并发问题还是tomcat来处理的
感觉问的有点驴唇不对马嘴(这里不是贬义),spring mvc是个功能框架,不是spring mvc要考虑的吧,要看你容器调优,架构调优这些来解决
可以了解一下 Tomcat 的 BIO 和 NIO模式,NIO 模式可以抗住高并发
引用来自“smallcatooo”的评论
springmvc调用的是servlet,servlet调用的是tomcat,最终并发问题还是tomcat来处理的
牛
在java中,http请求的标准就是servlet接口,而servlet容器管理着所有的请求,springMVC属于业务框架,实现了servlet接口,以及业务逻辑,所以是servlet容器处理了并发,tomcat、jboos、Tomcat、Jetty、WebLogic、Websphere、JBoss这些web服务器都有servlet容器,能够处理http协议的请求。
当数以千计/万计的访问同时访问一个controller里的路由地址时,能承载的访问量是多大?
通用处理准则
1、判断某个请求经过了哪些节点处理,是否存在 Onm的节点,提前调优
2、某个请求访问的或更新的 数据量有多大,提前调优
系统完成后,开始测试,根据 产品预估,灌入 几亿、几十亿的数据,从单机开始,不断的压测,观测数据,调优,周而复始,达到外网平均100ms 后,然后发布上线
springmvc又是怎么解决(并发方面)这些访问的呢?
通用处理
1、增加缓存
2、集群处理
3、分布式事务+补偿
4、购买量子计算机