天天看點

tomcat8.0.33 msm session共享

<code>1.</code><code>準備jar包,是最麻煩的一步,我選擇kryo的序列化方案,javolution序列化死活弄不通,總是報錯.google上又說是bug,不支援,啟動就是報錯</code>

<code>-</code><code>rw</code><code>-</code><code>r</code><code>-</code><code>-</code><code>r</code><code>-</code><code>-</code> <code>1</code> <code>tomcat tomcat    </code><code>3085</code> <code>3</code><code>月  </code><code>25</code> <code>2014</code> <code>minlog</code><code>-</code><code>1.2</code><code>.jar</code>

<code>-</code><code>rw</code><code>-</code><code>r</code><code>-</code><code>-</code><code>r</code><code>-</code><code>-</code> <code>1</code> <code>tomcat tomcat  </code><code>147019</code> <code>3</code><code>月   </code><code>9</code> <code>2015</code> <code>memcached</code><code>-</code><code>session</code><code>-</code><code>manager</code><code>-</code><code>1.8</code><code>.</code><code>2.jar</code>

<code>-</code><code>rw</code><code>-</code><code>r</code><code>-</code><code>-</code><code>r</code><code>-</code><code>-</code> <code>1</code> <code>tomcat tomcat   </code><code>29329</code> <code>3</code><code>月   </code><code>9</code> <code>2015</code> <code>msm</code><code>-</code><code>kryo</code><code>-</code><code>serializer</code><code>-</code><code>1.8</code><code>.</code><code>2.jar</code>

<code>-</code><code>rw</code><code>-</code><code>r</code><code>-</code><code>-</code><code>r</code><code>-</code><code>-</code> <code>1</code> <code>tomcat tomcat   </code><code>62112</code> <code>3</code><code>月   </code><code>9</code> <code>2015</code> <code>kryo</code><code>-</code><code>serializers</code><code>-</code><code>0.11</code><code>.jar</code>

<code>-</code><code>rw</code><code>-</code><code>r</code><code>-</code><code>-</code><code>r</code><code>-</code><code>-</code> <code>1</code> <code>tomcat tomcat   </code><code>43398</code> <code>3</code><code>月   </code><code>9</code> <code>2015</code> <code>asm</code><code>-</code><code>3.2</code><code>.jar</code>

<code>-</code><code>rw</code><code>-</code><code>r</code><code>-</code><code>-</code><code>r</code><code>-</code><code>-</code> <code>1</code> <code>tomcat tomcat   </code><code>94830</code> <code>3</code><code>月   </code><code>9</code> <code>2015</code> <code>kryo</code><code>-</code><code>1.04</code><code>.jar</code>

<code>-</code><code>rw</code><code>-</code><code>r</code><code>-</code><code>-</code><code>r</code><code>-</code><code>-</code> <code>1</code> <code>tomcat tomcat   </code><code>11615</code> <code>3</code><code>月   </code><code>9</code> <code>2015</code> <code>reflectasm</code><code>-</code><code>1.01</code><code>.jar</code>

<code>-</code><code>rw</code><code>-</code><code>r</code><code>-</code><code>-</code><code>r</code><code>-</code><code>-</code> <code>1</code> <code>tomcat tomcat  </code><code>459447</code> <code>3</code><code>月   </code><code>9</code> <code>2015</code> <code>spymemcached</code><code>-</code><code>2.11</code><code>.</code><code>1.jar</code>

<code>-</code><code>rw</code><code>-</code><code>r</code><code>-</code><code>-</code><code>r</code><code>-</code><code>-</code> <code>1</code> <code>tomcat tomcat   </code><code>10407</code> <code>6</code><code>月   </code><code>6</code> <code>19</code><code>:</code><code>41</code> <code>memcached</code><code>-</code><code>session</code><code>-</code><code>manager</code><code>-</code><code>tc8</code><code>-</code><code>1.8</code><code>.</code><code>2.jar</code>

<code>2.</code><code>弄兩個tomcat執行個體,server.xml配置</code>

<code>&lt;Host name</code><code>=</code><code>"localhost"</code>  <code>appBase</code><code>=</code><code>"webapps"</code> <code>unpackWARs</code><code>=</code><code>"false"</code> <code>autoDeploy</code><code>=</code><code>"false"</code><code>&gt;</code>

<code>        </code><code>&lt;Context path</code><code>=</code><code>"</code><code>" docBase="</code><code>/</code><code>opt</code><code>/</code><code>apps</code><code>/</code><code>8181</code><code>/</code><code>" reloadable="</code><code>false" </code><code>/</code><code>&gt;</code>

<code>cat </code><code>/</code><code>opt</code><code>/</code><code>apps</code><code>/</code><code>8181</code><code>/</code><code>index.jsp</code>

<code>&lt;</code><code>%</code><code>@ page language</code><code>=</code><code>"java"</code> <code>%</code><code>&gt;</code>

<code>&lt;html&gt;</code>

<code>  </code><code>&lt;head&gt;&lt;title&gt;TomcatA&lt;</code><code>/</code><code>title&gt;&lt;</code><code>/</code><code>head&gt;</code>

<code>  </code><code>&lt;body&gt;</code>

<code>    </code><code>&lt;h1&gt;&lt;font color</code><code>=</code><code>"red"</code><code>&gt;TomcatA.magedu.com&lt;</code><code>/</code><code>font&gt;&lt;</code><code>/</code><code>h1&gt;</code>

<code>    </code><code>&lt;table align</code><code>=</code><code>"centre"</code> <code>border</code><code>=</code><code>"1"</code><code>&gt;</code>

<code>      </code><code>&lt;tr&gt;</code>

<code>        </code><code>&lt;td&gt;Session </code><code>ID</code><code>&lt;</code><code>/</code><code>td&gt;</code>

<code>    </code><code>&lt;</code><code>%</code> <code>session.setAttribute(</code><code>"magedu.com"</code><code>,</code><code>"magedu.com"</code><code>); </code><code>%</code><code>&gt;</code>

<code>        </code><code>&lt;td&gt;&lt;</code><code>%</code><code>=</code> <code>session.getId() </code><code>%</code><code>&gt;&lt;</code><code>/</code><code>td&gt;</code>

<code>      </code><code>&lt;</code><code>/</code><code>tr&gt;</code>

<code>        </code><code>&lt;td&gt;Created on&lt;</code><code>/</code><code>td&gt;</code>

<code>        </code><code>&lt;td&gt;&lt;</code><code>%</code><code>=</code> <code>session.getCreationTime() </code><code>%</code><code>&gt;&lt;</code><code>/</code><code>td&gt;</code>

<code>     </code><code>&lt;</code><code>/</code><code>tr&gt;</code>

<code>    </code><code>&lt;</code><code>/</code><code>table&gt;</code>

<code>  </code><code>&lt;</code><code>/</code><code>body&gt;</code>

<code>&lt;</code><code>/</code><code>html&gt;</code>

<code>另外一個</code><code>8282</code><code>就行</code>

<code>3.</code><code>編譯memcached</code>

<code>libevent</code><code>-</code><code>2.0</code><code>.</code><code>22</code><code>-</code><code>stable  memcached</code><code>-</code><code>1.4</code><code>.</code><code>24</code>

<code>vim </code><code>/</code><code>etc</code><code>/</code><code>init.d</code><code>/</code><code>memcached  從别人部落格找到的</code>

<code>#!/bin/bash</code>

<code>#</code>

<code># Init file for memcached</code>

<code># chkconfig: - 86 14</code>

<code># description: Distributed memory caching daemon</code>

<code># processname: memcached</code>

<code># config: /etc/sysconfig/memcached</code>

<code>  </code> 

<code>. </code><code>/</code><code>etc</code><code>/</code><code>rc.d</code><code>/</code><code>init.d</code><code>/</code><code>functions</code>

<code>## Default variables</code>

<code>PORT</code><code>=</code><code>"11211"</code>

<code>USER</code><code>=</code><code>"nobody"</code>

<code>MAXCONN</code><code>=</code><code>"1024"</code>

<code>CACHESIZE</code><code>=</code><code>"256"</code>

<code>RETVAL</code><code>=</code><code>0</code>

<code>prog</code><code>=</code><code>"/usr/local/memcached/bin/memcached"</code>

<code>desc</code><code>=</code><code>"Distributed memory caching"</code>

<code>lockfile</code><code>=</code><code>"/var/lock/subsys/memcached"</code>

<code>start() {</code>

<code>        </code><code>echo </code><code>-</code><code>n $</code><code>"Starting $desc (memcached): "</code>

<code>        </code><code>daemon $prog </code><code>-</code><code>d </code><code>-</code><code>p $PORT </code><code>-</code><code>u $USER </code><code>-</code><code>c $MAXCONN </code><code>-</code><code>m $CACHESIZE </code>

<code>        </code><code>RETVAL</code><code>=</code><code>$?</code>

<code>        </code><code>[ $RETVAL </code><code>-</code><code>eq </code><code>0</code> <code>] &amp;&amp; success &amp;&amp; touch $lockfile || failure</code>

<code>        </code><code>echo</code>

<code>        </code><code>return</code> <code>$RETVAL</code>

<code>}</code>

<code>stop() {</code>

<code>        </code><code>echo </code><code>-</code><code>n $</code><code>"Shutting down $desc (memcached): "</code>

<code>        </code><code>killproc $prog</code>

<code>        </code><code>[ $RETVAL </code><code>-</code><code>eq </code><code>0</code> <code>] &amp;&amp; success &amp;&amp; rm </code><code>-</code><code>f $lockfile || failure</code>

<code>restart() {</code>

<code>        </code><code>stop</code>

<code>        </code><code>start</code>

<code>reload</code><code>() {</code>

<code>        </code><code>echo </code><code>-</code><code>n $</code><code>"Reloading $desc ($prog): "</code>

<code>        </code><code>killproc $prog </code><code>-</code><code>HUP</code>

<code>        </code><code>[ $RETVAL </code><code>-</code><code>eq </code><code>0</code> <code>] &amp;&amp; success || failure</code>

<code>case </code><code>"$1"</code> <code>in</code>

<code>  </code><code>start)</code>

<code>        </code><code>;;</code>

<code> </code> 

<code>stop)</code>

<code>  </code><code>restart)</code>

<code>        </code><code>restart</code>

<code>  </code><code>condrestart)</code>

<code>        </code><code>[ </code><code>-</code><code>e $lockfile ] &amp;&amp; restart</code>

<code>        </code><code>;;       </code>

<code>  </code><code>reload</code><code>)</code>

<code>        </code><code>reload</code>

<code>  </code><code>status)</code>

<code>        </code><code>status $prog</code>

<code>   </code><code>*</code><code>)</code>

<code>        </code><code>echo $</code><code>"Usage: $0 {start|stop|restart|condrestart|status}"</code>

<code>        </code><code>RETVAL</code><code>=</code><code>1</code>

<code>esac</code>

<code>exit $RETVAL</code>

<code>########################</code>

<code>chkconfig </code><code>-</code><code>-</code><code>add memcached</code>

<code>chkconfig memcached on</code>

<code>service memcached start</code>

<code>cp </code><code>-</code><code>r </code><code>/</code><code>etc</code><code>/</code><code>init.d</code><code>/</code><code>memcached </code><code>/</code><code>etc</code><code>/</code><code>init.d</code><code>/</code><code>memcached2</code>

<code>改端口,再起一個</code>

<code>4.context</code><code>配置</code>

<code>tomcat a的配置</code>

<code>&lt;Manager className</code><code>=</code><code>"de.javakaffee.web.msm.MemcachedBackupSessionManager"</code>

<code>   </code><code>memcachedNodes</code><code>=</code><code>"n1:172.1.1.212:11211,n2:172.1.1.212:11212"</code>

<code>     </code><code>failoverNodes</code><code>=</code><code>"n2"</code>

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

<code>      </code><code>transcoderFactoryClass</code><code>=</code><code>"de.javakaffee.web.msm.JavaSerializationTranscoderFactory"</code>

<code> </code><code>/</code><code>&gt;</code>

<code>tomcat b的配置</code>

<code>     </code><code>failoverNodes</code><code>=</code><code>"n1"</code>

<code>5.</code><code>啟動報這個資訊就是正确的</code>

<code>資訊: </code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code>

<code>-</code>  <code>finished initialization:</code>

<code>-</code> <code>sticky: true</code>

<code>-</code> <code>operation timeout: </code><code>1000</code>

<code>-</code> <code>node ids: [n1]</code>

<code>-</code> <code>failover node ids: [n2]</code>

<code>-</code> <code>storage key prefix: null</code>

<code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code>

<code>6.</code><code>前段用nginx還是apache,自己喜歡那個用那個</code>

<code>7.</code><code>測試,http:</code><code>/</code><code>/</code><code>ip,你會看到 session </code><code>id</code><code>是不變的。</code>

本文轉自 liqius 51CTO部落格,原文連結:http://blog.51cto.com/szgb17/1786746,如需轉載請自行聯系原作者