2014-03-04 48 views
0

我不知道如何支持我的產品。假設我有一個糟糕的網絡。 jChannel實例綁定到不能將數據路由到其他集羣成員的錯誤地址。我正在使用JDBC_PING。所有的jGroups節點都成功地連接到數據庫,所以JDBC_PING可以很好地工作。但是,這個集羣的4個成員形成4個獨立的集羣。jGroups和JDBC_PING,成員不能說話但沒有錯誤

沒有錯誤記錄在任何地方。如果我啓用完整的TRACE調試(通過堆棧底部),我看不出有什麼問題。

我不是說我想讓jGroups在我的糟糕網絡上工作。

我必須能夠確定計算機已加入羣集。如果他們沒有,我必須能夠報告失敗。有沒有解決這個問題的方法?我已經仔細研究過這個問題。我在想,我唯一的解決方案是讓所有節點通過數據庫彼此通信並使用我自己的解決方案,但這很愚蠢,因爲jGroups已經擁有所有這些信息!

回答

0

你不能設置正確的綁定地址嗎?或者,如果這是不可能的,至少在連接通道後檢查綁定地址是否正確,如果綁定地址錯誤則關閉它。 你也可以檢查一個4的集羣是否有前者使用viewAccepted(View v)。

+0

我提供的產品將在第三方網絡中運行。我希望我的產品不需要指定綁定地址即可開箱即用。如果默認值不起作用,我想知道默認值不起作用。然後我可以通知他們並告訴他們他們必須配置bind_addr或指定IPv4/IPv6。我今天的節點組成一個集羣,但調試顯示JDBC_PING.readAll知道所有節點都存在。 – user3380341

+0

(續)我遇到的一個問題是,我發現計算機配置了IPv4而IPv6不是。 jGroups(真正的java.net)綁定到IPv6回送,而不是使用健康的IPv4網絡。指定NON_LOOPBACK不會解決這個問題。 jGroups向我證明它非常穩定可靠。這一個問題已經使人虛弱。 – user3380341

相關問題