Tomcat基于memcached會話共享

安裝兩臺memcache,基于tomcat做會話同步;(只對動態內容緩存,用于追蹤用戶會話)

前提:
兩個tomcat節點:172.16.100.7(tomcatA.magedu.com),172.16.100.8(tomcatB.magedu.com)
兩個memcached節點:172.16.100.9, 172.16.100.10
一個負載均衡節點:172.16.100.6

Tomcat基于memcached會話共享
兩臺安裝完tomcat,再yum安裝memcached即可;下面這個memcached項目就是為了tomcat增加一個新的會話管理器:放在tomcat的lib下即可;注意memcached要和你的tomcat版本一致;

memcached-session-manager項目地址:https://github.com/magro/memcached-session-manager

    memcached配置文件:/etc/sysconfig/memcached  建議修改緩存空間大小CACHESIZE,M為單位

教室環境下下載安裝包,lftp 172.18.0.1:/pub/Sources/7.x86_64/msm> mget * 其他環境參考上述GitHub網站下載
現在兩臺tomcat版本都為7,所以刪除掉不需要的memcached依賴包:rm -rf memcached-session-manager-tc8-1.8.3.jar
然后將幾類包放置到tomcat對應的lib相關目錄下:mv *.jar /usr/share/tomcat/lib
隨后修改tomcat配置文件,添加在Host上下文中:

分別在兩個tomcat上的某host上定義一個用于測試的context容器,并在其中創建一個會話管理器,如下所示(修改對應參數,如docBase路徑,n1和n2地址):

<Context path=”/test” docBase=”/usr/share/tomcat/webapps/test” reloadable=”true”>
              <Manager className=”de.javakaffee.web.msm.MemcachedBackupSessionManager”
                memcachedNodes=”n1:172.16.100.9:11211,n2:172.16.100.10:11211″
                failoverNodes=”n1″
                requestUriIgnorePattern=”.*\.(ico|png|gif|jpg|css|js)$”
                transcoderFactoryClass=”de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory”
              />
             </Context>


分別為兩個context提供測試頁面:

tomcatA:
mkdir -pv /usr/local/tomcat/webapps/test/WEB-INF/{classes,lib}
vim /usr/share/tomcat/webapps/test/index.jsp   

<%@ page language=”java” %>
<html>
  <head><title>TomcatA</title></head>
  <body>
    <h1><font color=”red”>TomcatA.magedu.com</font></h1>
    <table align=”centre” border=”1″>
      <tr>
        <td>Session ID</td>
    <% session.setAttribute(“magedu.com”,”magedu.com”); %>
        <td><%= session.getId() %></td>
      </tr>
      <tr>
        <td>Created on</td>
        <td><%= session.getCreationTime() %></td>
     </tr>
    </table>
  </body>
</html>

上述為tomcat1,tomcat2節點和memcached2與上述安裝配置基本一致,就/usr/share/tomcat/webapps/test/index.jsp頁面信息有些改變:

<%@ page language=”java” %>
<html>
  <head><title>TomcatB</title></head>
  <body>
    <h1><font color=”blue”>TomcatB.magedu.com</font></h1>
    <table align=”centre” border=”1″>
      <tr>
        <td>Session ID</td>
    <% session.setAttribute(“magedu.com”,”magedu.com”); %>
        <td><%= session.getId() %></td>
      </tr>
      <tr>
        <td>Created on</td>
        <td><%= session.getCreationTime() %></td>
     </tr>
    </table>
  </body>
</html>

最后在172.16.100.6的nginx上配置反向代理的負載均衡內容即可,測試訪問:

Tomcat基于memcached會話共享

Tomcat基于memcached會話共享注意會話內容是一致;




原創文章,作者:杜少星,如若轉載,請注明出處:http://www.www58058.com/76838

(1)
杜少星杜少星
上一篇 2017-05-25
下一篇 2017-05-25

相關推薦

  • shell腳本1——test測試

    程序:指令+數據 程序:算法+數據結構 shell腳本編程: 編程的語言分類:根據運行方式     編譯運行:源代碼——>編譯器——>程序文件     解釋運行:源代碼——>運行時啟動解釋器,由解釋器邊解釋邊執行 根據其編程過程中功能的實現是否調用庫還是調用外部…

    Linux干貨 2016-08-18
  • 我們都在前行的路上

    我們都在前行的路上         從0到1是一種突破,年少輕狂到心有余而力不足,力挽狂瀾到恬淡人生需伏地腳踏實地地前行,漂泊在一線都市,立足我圖網,途徑百勝,一次機緣巧合轉戰阿里,對于一個工作6年的弄潮兒,他將所有經歷的化作前行的動力和堅韌不拔的耐力,也許不經意,但卻理所當然,…

    Linux干貨 2016-11-03
  • 磁盤管理

    磁盤管理

    Linux干貨 2017-10-27
  • OpenSSL 及創建私有CA

    OpenSSL 及創建私有CA OpenSSL OpenSSL,是一個開放源代碼的軟件庫包,應用程序可以使用這個包來進行安全通信,避免竊聽,同時確認另一端連接者的身份。這個包廣泛被應用在互聯網的網頁服務器上。 接下來對openssl基本命令進行介紹openssl 非常強大其子命令很多,這里只是對完成某些操作進行部分解釋openssl 的基本格式為openss…

    2017-09-11
  • 第五周:grep和find的使用練習

    1、顯示當前系統上root、fedora或user1用戶的默認shell; grep -E "^(root|fedora|user1)" /etc/passwd | cut -d: -f7 grep -E "^root|fedora|use…

    Linux干貨 2016-10-25
  • 博客作業1

    一、linux 常用文件管理命令有哪些?其常用使用方法及相關實例演示 1、文件操作命令 (1).pwd       功能:顯示當前目錄       實例: ?    #pwd (2).cd           功能:改變當前目錄 …

    Linux干貨 2016-06-23
欧美性久久久久