2016-04-12 40 views
0

我在名爲tomcat1,tomcat2,tomcat3的3個tomcats中部署了我的項目。那些配置了tomcat集羣。 如果所有的tomcat都啓動並運行,Session Affinity就可以正常工作。 如果Tomcat1關閉並且它包含會話,如果客戶端請求會話這些會話的詳細信息將通過tomcat2來。 但是,下一個請求去了tomcat3。所以,我丟失了一些數據。 所以,這裏Session Affinity不起作用。 在前一種情況下,當Tomcat1關閉時,所有請求都只會轉到tomcat1。 爲什麼在tomcat1關閉時發生這種情況?在一次實例關閉之後,Apache負載均衡器維護會話相關性

這裏是我的workers.properties文件

worker.list=loadbal 

worker.loadbal.type=lb 

worker.loadbal.balance_workers=jvm1,jvm2,jvm3,jvm4 

#worker.stat.type=status 

#worker.loadbal.sticky_session=True 
#worker.loadbal.sticky_session_force=True 

#Define worker corresponding to a tomcat server node 

worker.jvm1.port=8010 

worker.jvm1.host=xxx.xxx.x.xxx 

worker.jvm1.type=ajp13 

worker.jvm1.jvm_route=jvm1 

#Define worker corresponding to a tomcat server node 

worker.jvm2.port=8011 

worker.jvm2.host=xxx.xxx.x.103 

worker.jvm2.type=ajp13 

worker.jvm2.jvm_route=jvm2 

worker.jvm3.port=8012 

worker.jvm3.host=xxx.xxx.x.73 

worker.jvm3.type=ajp13 

#worker.jvm3.jvm_route=jvm3 

worker.jvm4.port=8014 

worker.jvm4.host=xxx.xxx.x.103 

worker.jvm4.type=ajp13 

#worker.jvm4.jvm_route=jvm4 

嘗試與創建會話的應用程序。

在此先感謝。

回答

0

這通過使用worker.redirect = routeid來實現。

如果你在worker.properties文件中提到它,它工作正常。