負載均衡()
打開http://localhost:/Cart/選擇要購買的商品如圖所示選擇了Xfiles movie和NIN CD
這些數據保存在Web服務器的session中接著打開http://localhost:/Cart/雖然從未在服務器上做過任何選擇操作但是服務器的返回數據和完全一致如圖所示
圖 共享session示例示意圖
圖 共享session示例示意圖
這表明通過Terracotta服務器兩個Web應用完全共享了session使用Terracotta在不同Web服務器間共享session只需要做一些簡單的配置比如在webxml中加入Terracotta過濾器如以下代碼片段所示在配置文件中指定了Terracotta服務器的地址
<filter>
<filtername>terracottafilter</filtername>
<filterclass>orgterracottasessionTerracottaJettyxSessionFilter
</filterclass>
<initparam>
<paramname>tcConfigUrl</paramname>
<paramvalue>localhost:</paramvalue>
</initparam>
</filter>
<filtermapping>
<filtername>terracottafilter</filtername>
<urlpattern>/*</urlpattern>
<dispatcher>ERROR</dispatcher>
<dispatcher>INCLUDE</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
</filtermapping>
在使用時分布式session對於應用是透明的以下代碼片段顯示了在JSP中訪問分布式session:
<%
cartprocessRequest(request)
//為了能在集群中更新數據每次Request請求
//必須更新Session內的數據
sessionsetAttribute(cart cart)
%>
返回目錄Java程序性能優化讓你的Java程序更快更穩定
編輯推薦
Java程序設計培訓視頻教程
JEE高級框架實戰培訓視頻教程
JME移動開發實戰教學視頻
Visual C++音頻/視頻技術開發與實戰
Oracle索引技術
ORACLEG數據庫開發優化指南
From:http://tw.wingwit.com/Article/program/Java/gj/201311/27789.html