博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nginx保持会话的方式
阅读量:6416 次
发布时间:2019-06-23

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

1)ip_hash

  简单易用,但是有如下缺点

  • 后端服务器宕机后,session会丢失
  • 来自同一局域网的客户端会被转发到同一个后端服务器,可能导致负载失衡
  • 不适用CDN网络,不适用于前段还有代理的情况

2)sticky_cookie_insert

  使用sticky_cookie_insert启用会话亲缘关系,这会导致来自同一客户端的请求被传递到一组服务器的同一台服务器;与ip_hash不同之处在于,他不是基于ip来判断客户端的,而是基于cookie来判断;因此可以避免上述ip_hash中来自同一局域网的客户端和前段代理导致负载失衡的情况。

  说明:

  • expires:设置浏览器中保持cookie的时间
  • domain:定义cookie的域
  • path:为cookie定义路径

3)jvm_route方式

  这个模块通过session_cookie的方式来获取session粘性。如果在cookie和url中并没有session,则这只是个简单的round-robin负载均衡。

  jvm_route的原理

  • 一开始请求过来,没有带session的信息,jvm_route就根据round robin的方法,发到一台Tomcat上面
  • Tomcat添加上session信息,并返回给客户
  • 用户再次请求,jvm_route看到session中有后端服务器的名称,他就把请求转到对应的服务器上

  暂时jvm_route模块还不支持fair的模式。jvm_route的工作模式和fair是冲突的。对于某个特定用户,当一直为他服务的Tomcat宕机后,默认情况下它会重试max_fails的次数,如果还是失败,就重新启用round robin的方式,而这种情况下就会导致用户的session丢失。

  jvm_route是通过session_cookie这种方式来实现session粘性,将特定会话附属到特定tomcat上,从而解决session不同步问题,但是无法解决宕机后会话转移问题。

转载于:https://www.cnblogs.com/qfdxxdr/p/7640000.html

你可能感兴趣的文章
【iCore3 双核心板_FPGA】实验二十:基于FIFO的ARM+FPGA数据存取实验
查看>>
java一个数分解的质因数java
查看>>
android framework-安装samba
查看>>
配置WCF的心得
查看>>
飞雪连天射白鹿笑书神侠倚碧鸳
查看>>
排名中国重读“发展Linux,中日两国之比较”有感-java教程
查看>>
VC6.0代码移植到VS2008运行时乱码问题解决
查看>>
反射实例
查看>>
Linux安装Jdk,CentOS安装Jdk
查看>>
iOS之事件穿透
查看>>
Oracle API Availability – Profile
查看>>
Chromium Embedded Framework中文文档 (如何链接不同的运行时)
查看>>
【PAT】1029. Median (25)
查看>>
web项目的getContextPath()
查看>>
SpringMvc中两个Controller类之间传递参数的方法
查看>>
.NET Core微服务之路:基于Consul最少集群实现服务的注册与发现(二)
查看>>
【WP7】转:Windows Phone 7 开发 31 日谈 目录
查看>>
6. datasource - mysql【从零开始学Spring Boot】
查看>>
编写病毒程序取款700余万,华夏银行一技术处长被捕受审
查看>>
阿里成立达摩院做基础科研 这是一家被电商掩盖的科技公司
查看>>