tomcat 7負載均衡-memcache-session

Tomcat Memcached Nginx CSS iscoder 2017-06-03

背景

對大部分應用來說,都可能部署了多個tomcat(6,7,8,9),包括部署了多個memcached節點,但是nginx分發請求到不同tomcat後,session的共享就成為了一個很大的問題。使用memcached-session-manager(MSM)就可以很輕鬆的解決這個問題。


添加MSM所需jar到tomcat容器

1. 默認我們使用JDK自帶序列化方式實現序列化,添加如下jar文件到tomcat的lib目錄下

memcached-session-manager-2.1.1.jar

memcached-session-manager-tc7-2.1.1.jar

spymemcached-2.11.1.jar

2. 修改tomcat下conf下的context.xml文件,添加如下配置

<Manager

className="de.javakaffee.web.msm.MemcachedBackupSessionManager"

memcachedNodes="127.0.0.1:11212"

requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"

/>

3. 把nginx的負載均衡策略設置為1:1,便於測試

tomcat 7負載均衡-memcache-session

4. 四個tomcat服務都只有一個頁面index.jsp,內容如下:

tomcat 7負載均衡-memcache-session

5. 使用瀏覽器訪問http://localhost,結果如下,發現nginx對四個tomcat實現了負載,並且session一致,這就說明了實現了session共享

tomcat 7負載均衡-memcache-session

tomcat 7負載均衡-memcache-session

tomcat 7負載均衡-memcache-session

tomcat 7負載均衡-memcache-session

相關推薦

推薦中...