使用Tengine解决负载均衡的Session问题

事情的经过时这样的~~,我看了好多好多百度中nginx负载均衡中解决session问题的方式,我选择了研究url_hash的方式。经过一番配置之后,我越发觉得这百度搜出来的帖子也太过久远了吧,去http://wiki.nginx.org/上找了找这个模块

,在github下载的位置上看到了这样一段话:

NOTE: This module is obsolete as of Nginx 1.7.2, which includes the hashdirective. This repository remains for historical interest only. 我的理解是此版本是绝对的使用nginx1,7,2,此库仅为历史感兴趣的参考,而百度翻译则是此模块为过时的,我就无法理解了。

正在迷茫之际,我看到了tengine,这是淘宝对nginx的一种扩展的优化吧。然后我就转而研究这个了~~,发现在tengine之中有一个叫做ngx_http_upstream_session_sticky_module的模块,很是贴合我的目的,他是利用用户的cookie来保持对session的支持。具体原理还有待研究,总之得试试吧~~

经过各种踩坑之后,整好了:(这个界面也是尊重nginx,依然那么简约 。  - - !)

使用Tengine解决负载均衡的Session问题

那么我们就来试试那个神奇的模块吧,配置如下:

upstream rock{
  server 127.0.0.1:8081;
  server 127.0.0.1:8082;
  session_sticky;
}

公司的同事,对于外网来说ip都一样,只要访问到不同的两台服务器且连续刷新不会改变session不会失效(其实就是不会跳转到另一台服务器),那么就成功了。两台电脑访问,或者不同的浏览器访问都可以,模块式基于cookie来判断的~

使用Tengine解决负载均衡的Session问题使用Tengine解决负载均衡的Session问题

嗯,比ip_hash强多了,但是要编译那么多东西,总觉得还需要再深入研究一下,才方便使用这个tengine吧~

相关阅读

Tengine 的详细介绍:请点这里
Tengine 的下载地址:请点这里

相关推荐