在上一个实验当中,可以实现会话保持了
当其中一个tomcat服务器坏了,由于nginx负载均衡服务器在tomcat1和tomcat2之间实现了轮询
如果用户1在tomcat1服务器上存储的数据,但是当tomcat1这个服务器挂了
客户就会去访问tomcat2的服务器,但是自己的数据在tomcat1上面
这个时候就要用到memcache这个存储节点,它属于交叉存储
tomcat1和tomcat2上面都有memcache存储(把数据缓存在内存当中)
分别为memcache1和memcache2
这两个存储节点属于存储节点
当tomcat1挂了之后,客户1就会去访问tomcat2对应的memcache
这时候会把用户放在memcache1的数据全部放到memcache2上面
如果tomcat服务器都好着,memcache不会同步数据过,一旦坏了立刻同步数据过来
这就是memcache-session交叉存储的好处
1.什么是会话保持?
会话保持是指在负载均衡器上的一种机制,可以识别客户端与服务器之间交互过程的关连性,在作负载均衡的同时还保证一系列相关连的访问请求都会分配到一台机器上。用人话来表述就是:在一次会话过程中发起的多个请求都会落到同一台机器上。
2.会话(session)与连接(connection)之间的区别
在讨论负载均衡的时候,如果我们不细加讨论的话,很容易将会话与连接混淆。
(1)连接:我们都知道TCP/IP协议中经常提到的:”三次握手,四次挥手“的问题。自然也知道客户端和服务器端是经过三次握手以后,建立了连接(connection)。当它们建立了连接以后,那么客户端就可以向服务端发送多次的请求。如果客户端和服务器端需要断开连接,那么就需要经过四次的挥手过程才能够断开连接。
(2)会话:如果用户需要登录,那么可以理解为经过三次握手以后,客户端与服务器端建立的就是会话(session)。如果用户不需要登录,那么可以理解为经过三次握手以后,客户端与服务器端建立的就是连接(connection)。
连接(会话)删除:一般来说,所有的厂商都会对负载均衡服务器的最大并发连接数有限制。每一个连接都是有时间限制的。如果在规定的时间内某个连接不再有请求,