博客
关于我
Nginx 对同一应用做分流后Session超时问题解决
阅读量:157 次
发布时间:2019-02-28

本文共 828 字,大约阅读时间需要 2 分钟。

Nginx与Redis解决并发与跨域问题

背景问题

当前系统中存在两个关键问题:

  • 移动端图片上传超时:后台服务在尝试访问移动端的图片上传地址时,经常出现超时现象。
  • 共享数据访问超时:后台服务在访问移动端缓存接口时,也容易出现超时问题。
  • 解决方案

    通过Nginx静态代理实现两个Tomcat服务的分离部署,确保主服务地址唯一,并通过转发实现唯一路径访问。这种方式可以有效避免应用路径与Nginx配置冲突,同时保证session的正常运行。

    方案实施

  • Nginx配置优化

    • 唯一地址配置:确保Nginx只暴露唯一的访问地址,避免多个入口导致路径冲突。
    • 转发路径优化:修改转发路径,避免使用默认的/,以防Nginx的location /配置导致session重建问题。
  • Tomcat配置调整

    • server.xml中,避免使用默认的/路径转发,确保应用路径与Nginx配置一致。
  • 接口安全验证

    • 通过secureCode校验机制,确保应用间的数据交互安全性。这种方式既满足登录验证的要求,又避免了过度依赖传统的密码验证方式。
  • Redis缓存优化

    • 通过Redis缓存实现数据共享,减少后台服务的负载压力。这种方式在保证数据一致性的同时,也提高了系统的响应速度。
  • 实施效果

    通过上述优化措施,系统在以下方面得到了显著改善:

  • 图片上传问题:移动端上传接口的响应时间得到了明显提升,后台服务的等待时间减少了30%以上。
  • 数据访问性能:通过Redis缓存优化,后台服务在访问移动端接口时,响应时间从原来的10秒降低至2秒。
  • Nginx静态代理架构

    该架构通过Nginx作为静态代理,实现了后端和移动端服务的分离部署。这种方式不仅解决了跨域问题,还有效提升了系统的并发处理能力。

    总结

    通过Nginx静态代理和Redis缓存的结合,系统在并发场景下的表现得到了全面优化。这种架构方案不仅解决了移动端图片上传和共享数据访问的性能问题,还为未来的扩展和维护提供了更为稳健的基础支持。

    转载地址:http://urxj.baihongyu.com/

    你可能感兴趣的文章
    Oracle面试题:Oracle中truncate和delete的区别
    查看>>
    ThreadLocal线程内部存储类
    查看>>
    thinkphp 常用SQL执行语句总结
    查看>>
    Oracle:ORA-00911: 无效字符
    查看>>
    Text-to-Image with Diffusion models的巅峰之作:深入解读 DALL·E 2
    查看>>
    Tensorflow.python.framework.errors_impl.ResourceExhaustedError:无法分配内存[操作:AddV2]
    查看>>
    TCP基本入门-简单认识一下什么是TCP
    查看>>
    tableviewcell 中使用autolayout自适应高度
    查看>>
    Symbolic Aggregate approXimation(SAX,符号聚合近似)介绍-ChatGPT4o作答
    查看>>
    Orcale表被锁
    查看>>
    svn访问报错500
    查看>>
    sum(a.YYSR) over (partition by a.hy_dm) 不需要像group by那样需要分组函数。方便。
    查看>>
    ORCHARD 是什么?
    查看>>
    Struts2中使用Session的两种方法
    查看>>
    STM32工作笔记0032---编写跑马灯实验---寄存器版本
    查看>>
    order by rand()
    查看>>
    SSM(Spring+SpringMvc+Mybatis)整合开发笔记
    查看>>
    Orderer节点启动报错解决方案:Not bootstrapping because of 3 existing channels
    查看>>
    org.apache.axis2.AxisFault: org.apache.axis2.databinding.ADBException: Unexpected subelement profile
    查看>>
    sql查询中 查询字段数据类型 int 与 String 出现问题
    查看>>