2010-09-14 67 views
0

我配置了一個使用負載平衡器(Apache)設置的粘性會話和三個運行Jboss 4.2.2的應用程序節點。 負載均衡器使用本教程中提到的mod_jk和設置。Apache Sticky會話

http://community.jboss.org/wiki/UsingModjk12WithJBoss;jsessionid=1569CBFB7C3096C59C977CD3F7159A32

我已在jumRoute設置爲節點1,2,3兩個節點的三個節點和我的負載平衡器workerlist屬性設置爲 節點1,節點2,節點3

本教程一直跟着,直到最後一點,但我沒有配置useJK參數,該值仍然設置爲false。 粘性會話都持有了,但我似乎失去會話,並在我的mod_jk日誌文件中得到這個錯誤

[錯誤] ajp_get_reply :: jk_ajp_common.c(1926年):以從Tomcat等待回覆(節點)超時。 Tomcat已關閉,已停止或出現網絡問題(errno = 110)

我親自檢查了在node1上登錄的用戶,然後移至了node2。

當Apache無法從node1獲得回覆時,Apache是​​否重定向到另一個節點?useJk在這種情況下如何提供幫助。

---編輯--- 01

  1. 我的UseJK值更改爲true,但仍然很少有用戶仍遇到突然登出我知道由於在迎合用戶請求的服務器節點來改變。
  2. 我也想知道這些節點上的流量是否有粘性會話的任何影響,以及如何應對。

(我幾天的所有服務器上出現高負荷)----編輯02 ----

  1. 我也想知道關於控制每個工人的連接數量。
  2. 控制ajp連接器/連接的數量。
  3. apache負載平衡器的連接數量與JBoss工作器節點中的ajp連接數量之間的關係。
  4. 什麼是Apache 2.2.3和帶有Tomcat 5.5連接器的JBoss 4.2.2工作節點之間的最佳配置。

----使用上述文章中,我只是想知道的Apache 的MaxClients 的最佳值edit03 ----- http://community.jboss.org/wiki/OptimalModjk12Configuration

ThreadPerChild

回答

0

我想在你的工人。屬性文件workerlist應該有loadBalancer worker而不是node1,node2 & node3.It應該是這樣的

worker.list=loadmanager 
worker.loadmanager.balance_workers=node1,node2,node3 

我希望你必須有這些正確的。

此外,您必須將UserJK arttribute設置爲true,才能將粘性會話與JvmRoute結合使用進行負載平衡。如果設置爲true,則會插入JvmRouteFilter 以截獲每個請求,並在檢測到故障轉移時替換JvmRoute。

<attribute name="UseJK">true</attribute> 
在部署/的jboss-web.deployer/META-INF /的jboss-service.xml的

+0

這正是我所配置的。我將UserJK值更改爲true。但粘性會話仍然不適用於少數用戶。節點上的負載是否會影響粘性會話? – frictionlesspulley 2010-09-15 13:45:48

+0

來驗證影響粘性會話的節點上的負載...您可以使用負載平衡方法來玩。您可以在這裏找到那些不同的方法http://tomcat.apache.org/connectors-doc/reference/workers.html – PushkarT 2010-09-16 04:53:30

+0

發現服務器更經常地是工作者節點可以處理分配的流量,這導致了溢出,並且因此粘性會話未被綁定到它們的始發工作者節點 – frictionlesspulley 2010-12-27 21:27:05

1

我發現下面的音符this article有趣。我沒有嘗試過,但對於遇到同樣問題的人可能會有用。

如果您正在使用的mod_jk並且已經打開了粘性會話,但您的會話都無法遵守,你可能沒有設置域名,或者你沒有設置的jvmRoute,或者你使用的是非標準cookie名稱來實現粘性!