新聞中心
前言
在做server集群和負(fù)載均衡等等之前首先要做的一件事就是session共享,否則集群也是無(wú)意義的根本無(wú)法使用,去年寫過(guò)一篇window+tomcat-cluster實(shí)現(xiàn)的session共享( 多個(gè)Tomcat之間實(shí)現(xiàn)Session共享),但在實(shí)際的生產(chǎn)環(huán)境應(yīng)用服務(wù)器一般還是會(huì)用linux,而且實(shí)現(xiàn)session共享的方式更不會(huì)用tomcat自帶的cluster來(lái)做了,因?yàn)槟菢邮切首畹偷?,我們往往?huì)通過(guò)第三方的庫(kù)來(lái)完成這件事,例如:memcached、Redis等等。廢話不多說(shuō),本篇文章就簡(jiǎn)單記錄一下Linux centos 7下通過(guò)Memcached實(shí)現(xiàn)session共享。

我們提供的服務(wù)有:成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、丹東ssl等。為上千余家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的丹東網(wǎng)站制作公司
構(gòu)建Tomcat集群
然后我們一次修改這三個(gè)tomcat的端口,包括shutdown端口、http協(xié)議端口以及AJP協(xié)議端口。中間的不用說(shuō)了,前后這兩個(gè)端口是為了保證可以同時(shí)啟動(dòng)多個(gè)Tomcat,http端口我們分別修改為8081、8082和8083,接下來(lái)就可以著手開始配置session共享了。
Kyro序列化session
RT,首先memcached我的版本是1.4.25,在memcached對(duì)session的管理策略中,我們選擇kyro,關(guān)于memcached-session-manager的版本我這里選擇1.5.1,由于我們使用的是tomcat7所以還需要memcached-session-manager-tc7-1.5.1這個(gè)jar包。在此就不一一列舉了,jar包版本很重要否則容易出現(xiàn)沖突,我這里把用到的所有jar包打包上傳,用的時(shí)候直接把它們?nèi)繌?fù)制到tomcat目錄下的lib目錄即可,tomcat-7.0.57版本的話可以直接無(wú)腦覆蓋,否則需要跳過(guò)重復(fù)的jar包,全部jar包的下載地址如下:
到主機(jī)寶貝1號(hào)FTP服務(wù)器下載
在 2016年LinuxIDC.com\9月\Linux CentOS 7 下通過(guò)Memcached實(shí)現(xiàn)Session共享\
配置說(shuō)明
jar包準(zhǔn)備好的話就分別拷貝到我們集群的3個(gè)Tomcat的lib目錄下,然后再分別修改每個(gè)Tomcat目錄下的conf/context.xml文件,在其中添加memcached-session-manager的配置。因?yàn)槲覀冞@里集群了3臺(tái)Tomcat,所以我們必須使用non-sticky模式,即采用非粘性session管理配置,配置文件如下:
memcached的默認(rèn)端口號(hào)是11211,如果不確定的話可以通過(guò)netstat來(lái)查看,命令如下:
netstat -tunlp | grep memcached
沒有其它問(wèn)題的話就依次啟動(dòng)三個(gè)Tomcat,再啟動(dòng)Memcached,接著就可以測(cè)試session共享了。
測(cè)試
在IDE創(chuàng)建一個(gè)web項(xiàng)目部署后再?gòu)膖omcat拷貝出來(lái)即可,唯一需要改的就是index.jsp,我們看一下里面的代碼:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
My JSP 'index.jsp' starting page
<%String sessid = request.getSession().getId();%>
sessionid=<%=sessid%>
This is my JSP page 111111.
仔細(xì)觀察一下運(yùn)行結(jié)果,可以發(fā)現(xiàn)sessionid都是一致的,這也就很好的說(shuō)明了我們成功的在這三個(gè)Tomcat之間共享了session。
總結(jié)
簡(jiǎn)單記錄一下通過(guò)Memcached來(lái)實(shí)現(xiàn)session共享的全過(guò)程,希望對(duì)遇到同樣問(wèn)題的朋友有所幫助,The End。
分享名稱:LinuxCentOS7下通過(guò)Memcached實(shí)現(xiàn)Session共享
新聞來(lái)源:http://fisionsoft.com.cn/article/djejeho.html


咨詢
建站咨詢
