当前位置: 首页 > news >正文

最新互联网项目平台网站网络搜索关键词

最新互联网项目平台网站,网络搜索关键词,网站建设团队,爱网站关键词挖掘一、前言 当后端对于数据量较大的处理或是某些耗时的操作时,需要先对请求接口的请求进行响应。实际场景中会遇到请求业务处理流程耗时较长#xff0c;比如长查询#xff0c;远程调用等#xff0c;主线程会被一直占用会影响其他请求的响应#xff0c;导致服务端性能下降。同…一、前言 当后端对于数据量较大的处理或是某些耗时的操作时,需要先对请求接口的请求进行响应。实际场景中会遇到请求业务处理流程耗时较长比如长查询远程调用等主线程会被一直占用会影响其他请求的响应导致服务端性能下降。同时前端向服务端发送请求后等待响应的超时时间比较短(一般20s或30s)而我们实际业务执行可能超过1分钟。 二、解决方案 1、配置Http会话超时 可以通过两种方式为Spring Boot应用程序配置HTTP会话超时。 1.1 application.properties中配置会话超时 最简单的方法是在你的application.properties中加入参数server.servlet.session.timeout。 server:servlet:session:# 配置会话超时timeout: 120s还要注意的是Tomcat不允许你将超时时间设置得少于60秒。 1.2 以程序方式配置会话超时 假设我们想让我们的HttpSession只持续两分钟。为了实现这一点我们可以在我们的WebConfiguration类中添加一个EmbeddedServletContainerCustomizerBean内容如下。 Configuration public class WebConfiguration {Beanpublic EmbeddedServletContainerCustomizer embeddedServletContainerCustomizer() {return new EmbeddedServletContainerCustomizer() {Overridepublic void customize(ConfigurableEmbeddedServletContainer container) {container.setSessionTimeout(2, TimeUnit.MINUTES);}};} }这里再给出一个使用Java 8和lambda表达式的捷径写法。 public EmbeddedServletContainerCustomizer embeddedServletContainerCustomizer() {return (ConfigurableEmbeddedServletContainer container) - {container.setSessionTimeout(2, TimeUnit.MINUTES);};}在应用程序启动期间Spring Boot自动配置检测到EmbeddedServletContainerCustomizer并调用customize(…)方法传递对Servlet容器的引用。 2、配置接口访问超时 SpringBoot设置接口访问超时时间有两种方式 2.1 配置文件方式 在配置文件application.properties中加了spring.mvc.async.request-timeout120000意思是设置超时时间为120000ms即120s # [设置接口的超时时间] spring.mvc.async.request-timeout1200002.2 配置Config配置类 还有一种就是在config配置类中加入 public class WebMvcConfig extends WebMvcConfigurerAdapter {Overridepublic void configureAsyncSupport(final AsyncSupportConfigurer configurer) {configurer.setDefaultTimeout(20000);configurer.registerCallableInterceptors(timeoutInterceptor());}Beanpublic TimeoutCallableProcessingInterceptor timeoutInterceptor() {return new TimeoutCallableProcessingInterceptor();} }采用上面的两种配置之一后重新运行服务调用接口最大等待的响应时间为上面设置的120s。 三、需要避免踩到的坑 如果按上述配置后还是会出现超时情况有可能是以下几种技术的问题需要对应设置一下。 1、tomcat的设置 上文中是springboot开发环境使用了内置的tomcat。而在实际生产环境中一般用的是外置tomcat来部署(便于后续发布更新)需要在tomcat的配置文件server.xml中设置超时时间(默认20秒以下设置为120秒)。 Connector port8811 protocolHTTP/1.1connectionTimeout120000redirectPort8443 /2、Nginx的设置 如果服务端使用到Nginx做了反向代理转发请求就需要在Nginx的配置文件nginx.conf中设置超时时间否则会返回**“java.io.IOException: 你的主机中的软件中止了一个已建立的连接”**这样的异常提示。 未设置时Nginx响应时间默认60秒这里我将http头部的keepalive_timeout 、client_header_timeout 、client_body_timeout 、send_timeout 、以及server代码块中的proxy_read_timeout均配置为120秒。 http {include mime.types;default_type application/octet-stream;client_max_body_size 100m;#log_format main $remote_addr - $remote_user [$time_local] $request # $status $body_bytes_sent $http_referer # $http_user_agent $http_x_forwarded_for;#access_log logs/access.log main;sendfile on;#tcp_nopush on;keepalive_timeout 120; #连接超时时间,服务器将会在这个时间后关闭连接send_timeout 120; #发送超时时间client_header_timeout 120; #请求头的超时时间client_body_timeout 120; #请求体的读超时时间#gzip on;.....#业务系统的配置server {listen 9092;server_name localhost;location / {proxy_pass http://127.0.0.1:8811/mywebsev/;proxy_read_timeout 120; # 等候后端服务器响应时间 秒}} }
http://www.sadfv.cn/news/10722/

相关文章:

  • 响应式网站哪里做ui界面设计分析
  • 非凡网站建设上海做家教网站有哪些
  • linux上搭建网站广州企业网站seo
  • 北京团建网站重庆沙坪坝二手房出售信息
  • 网站建设需要考虑的问题虚拟机搭建wordpress
  • 电商网站开发公司杭州wordpress 伪原创插件
  • 网站透明导航代码wordpress图表模板类
  • 灵台县住房和城乡建设局网站营销课程
  • 网站ftp管理工具uc投放广告网站要自己做吗
  • 网站开发信息平台项目总结湖北省建设网站首页
  • dede网站后台设置wap模板目录做电商网站价钱
  • 网站制作上哪学校做标签网站是什么样的
  • wordpress文章显示作者建阳网站建设wzjseo
  • 百度推广 手机网站古典家具网站模板
  • 网站下载音乐12306网站开发公司
  • 用微信做网站网站开发注意的事项
  • 快速搭建网站框架的工具网站软件下载
  • 建设网站销售建设广告联盟网站
  • 做搜狗手机网站优化排外包网络推广
  • 制作展示型网站的公司开封建网站的公司
  • wordpress 建站 搜索cms影视系统
  • wordpress固定连接无法访问关键词优化怎么写
  • 天津武清做网站tjniu网站留言短信提醒
  • 洛阳网站建设电话男女插孔做暖暖网站大全
  • 做网站有哪些法规如何在网上打广告
  • 东莞市微客巴巴做网站阿里巴巴国际站买家版app
  • 软件和网站开发设计师专业
  • 嘉兴公司网站模板建站.net 网站 语言
  • 西固网站建设平台第一ppt网
  • 自助建站免费平台邢台网站建设哪家公司好