2016-04-19 40 views
0

我已經使用Patroni設置了postgresql羣集(具有一個主節點和一個從/備用節點)。我想在集羣前使用HA代理。 我認爲在這種情況下,HA代理本身可能是單點故障。 因此,如果我使用HA代理的多個節點來避免此問題。然後不確定客戶端如何處理連接,以防HA客戶端正在連接的HA代理的IP發生故障。 (或者我們可以說客戶端/客戶端應用程序如何在HA代理的不同可用IP之間切換)。客戶端如何處理HA代理的IP故障時的連接

+0

?問題是什麼 –

回答

0

對於客戶端/應用程序本身,這取決於您的實現。

基本上,您有責任處理連接錯誤(例如切斷/丟棄)並按照您的意願執行操作 - 例如重新連接。

您可以使用類似keepalived處理來自HAProxy的一個IP故障轉移到B.

0

我認爲這個問題是會發生與多個HAProxy的時候HAProxy的實例的客戶在HA設置客戶端連接什麼連接下去。

在最好的情況下,您的客戶端會收到錯誤並重新連接到下一個可用的實例。您可以通過DNS對haproxy實例進行循環,或者使用浮動向上切換它們,或者級聯haproxy,將面向應用程序的實例設置爲與應用程序本身相同的主機。無論如何,如果您的haproxy實例關閉 - 您的連接將終止。沒有其他辦法了。

相關問題