Jboss4集羣配置之五:Jboss集羣session複製

7.Jboss集羣的session複製

原理

jboss session複製是jboss session同步的一種實現。原理是在各Jboss節點間建立橫向聯繫,每個節點都將本節點的session變化同步到其他所有節點上。

jboss的session複製與HTTP集羣是相互配合、相互獨立的兩個系統。session複製是節點間的橫向聯繫,HTTP集羣是負載均衡器與節點的縱向聯繫。

配置Jboss節點


vi /usr/local/jboss/server/all/deploy/tc5-cluster.sar/META-INF/jboss-service.xml

找到<config><udp,將><config>到</config>全部註釋掉.
jboss session複製有UDP和TCP兩種方式.UDP採用多播方式,但問題比較多,所以jijian91採用TCP方式。

找到<config> <tcp,將><config>到</config>生效.並對該部分進行以下修改:

將全部down_thread和up_thread的false都改爲true.
在<tcp bind_addr=”後填入本機的IP,比如<TCP bind_addr=”>
在<tcpping initial_hosts=”後填入本機和集羣其他全部Jboss節點的IP[7810],比如<tcpping initial_hosts=”192.168.130.95[7810],192.168.130.99[7810],192.168.130.112[7810]”></tcpping>
其他參數還包括:
ClusterName是集羣名稱,比如partition1.
在同一局域網內,可以存在多個jboss集羣,根據集羣名稱區分它們.所以,集羣中各節點配置的集羣名稱必須一致,而機器IP則沒有特殊要求,只要它們能相互連通. 理論上,可以在一臺機器上安裝多個Jboss實例,分屬於不同的集羣.但這會極大地增加複雜度,是不好的配置方式.jijian91嚴重不建議給自己找麻煩。

IsolationLevel是隔離等級.
可選值包括:SERIALIZABLE, REPEATABLE_READ, READ_COMMITTED, READ_UNCOMMITTED, 和 NONE。這裏的隔離級別和數據庫的隔離級別有同樣的含義,對於大多數WEB應用程序來講通常設置爲REPEATABLE_READ。

CacheMode是緩存模式。
由於session複製是通過緩存實現的,所以實際上是複製模式.可選值包括:REPL_SYNC 和REPL_ASYNC,確定改變是應該同步還是異步複製。缺省值是REPL_ASYNC.使用同步複製,確保在請求完成之前傳播改變,session同步沒有滯後,但效率低。

配置應用程序

在應用程序的web.xml的<web-app>段中增加<distributable />。

在jboss-web.xml中增加以下內容:

<jboss-web>
<replication-config>
<replication-trigger>SET_AND_NON_PRIMITIVE_GET</replication-trigger>
<replication-granularity>SESSION</replication-granularity>
<replication-field-batch-mode>

jboss4集羣配置至此結束。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章