LNMT群集基于复述,实现会话共享

  

<强>前言:
为了使网络能适应大规模的访问,需要实现应用的集群部署。集群最有效的方案就是负载均衡,而实现负载均衡用户每一个请求都有可能被分配到不固定的服务器上,这样我们首先要解决会话的统一来保证无论用户的请求被转发到哪个服务器上都能保证用户的正常用,也就是需要实现会话的共享机制。

  
  

在集群系统下实现会话统一的有如下几种方案:
<强> 1,请求精确定位: sessionsticky,例如基于访问ip的哈希策略,即当前用户的请求都集中定位到一台服务器中,这样单台服务器保存了用户的会话登录信息,如果宕机,则等同于单点部署,会丢失,会话不复制。
<强> 2,会话复制共享: sessionreplication,如tomcat自带会议共享,主要是指集群环境下,多台应用服务器之间同步会议,使会议保持一致,对外透明。如果其中一台服务器发生故障,根据负载均衡的原理,调度器会遍历寻找可用节点,分发请求,由于sessio已同步,故能保证用户的会话信息不会丢失,会话复制,。
<强>此方案的不足之处:
必须在同一种中间件之间完成(如:tomcat-tomcat之间)。
会话复制带来的性能损失会快速增加。特别是当会话中保存了较大的对象,而且对象变化较快时,性能下降更加显著,会消耗系统性能。这种特性使得网络应用的水平扩展受到了限制.Session内容通过广播同步给成员,会造成网络流量瓶颈,即便是内网瓶颈。在大并发下表现并不好。
<强> 3,基于缓存DB缓存的会议共享:即使用cacheDB存取会话信息,应用服务器接受新请求将会话信息保存在缓存数据库中,当应用服务器发生故障时,调度器会遍历寻找可用节点,分发请求,当应用服务器发现会话不在本机内存时,则去缓存数据库中查找,如果找到则复制到本机,这样实现会话共享和高可用。

     

这里将使用第三种方案,实现会话会话共享,将采用复述来做缓存DB。

  <人力资源/>   
  

博文大纲:
一、环境准备
二,配置Nginx反向代理服务器
三,配置Tomcat服务器
四,配置复述,服务器
五,配置Tomcat连接复述,
六,安装部署MySQL数据库
七,配置Tomcat连接MySQL数据库

     

一、环境准备

  

 LNMT群集基于复述,实现会话共享

  

在进行下面配置前,先下载我提供的源码包,并自行上传至对应的服务器。

  

二,配置Nginx反向代理服务器

  

这里配置Nginx反向代理,只是实现它一个简单的代理功能,若想优化这个反向代理服务器,那么最好参考博文:Nginx安装,实现反向代理及深度优化进行配置。

  

<强>以下操作均在192.168.20.2的Nginx服务器上进行

  
 <代码> [root@nginx ~] # yum - y擦掉httpd #卸载自带的web服务
  (root@nginx ~) # yum - y安装openssl-devel pcre-devel #安装所需依赖
  (root@nginx ~) #焦油zxf nginx-1.14.0.tar。广州- c/usr/src #解包
  (root@nginx ~) # cd/usr/src/nginx-1.14.0/#切换至解压后的目录
  (root@nginx conf) # ./configure——用户=www——组=www——prefix=/usr/地方/nginx,,使,,制作安装
  #编译安装
  [root@nginx nginx-1.14.0] # cd/usr/local/nginx/conf/#切换至Nginx配置文件主目录
  (root@nginx conf) # vim nginx。参看#编辑Nginx配置文件,写入以下内容
  http{#在http字段添加以下内容
  上游端{
  服务器192.168.20.3:8080重量=1 max_fails=2 fail_timeout=10;
  服务器192.168.20.4:8080重量=1 max_fails=2 fail_timeout=10;
  }
  服务器{#定位到服务器字段
  位置/{#在位置字段下面添加以下内容,并注释掉下面开头两行
  #根html;
  #指数指数。html你;
  proxy_pass http://backend;#主要写入这一行,以下的是优化,可选写入
  proxy_redirect;
  proxy_set_header主机主机美元;
  proxy_set_header X-Real-IP remote_addr美元;
  proxy_set_header X-Forwarded-For proxy_add_x_forwarded_for美元;
  proxy_next_upstream错误超时invalid_header http_500 http_502 http_503 http_504;
  }
  }
  }
  #修改完成后,保存退出即可
  (root@nginx conf) # ln - s/usr/local/nginx/sbin/nginx/usr/local/sbin/#对Nginx命令做软连接
  (root@nginx conf) # useradd - m - s/sbin/nologin www #创建运行用户
  (root@nginx conf) # nginx - t #检查配置文件
  (root@nginx conf) # nginx #启动nginx服务 
  

至此,这台Nginx就可以提供基本的反向代理功能了,接下来配置Tomcat服务器。

LNMT群集基于复述,实现会话共享