一、概述
如果我們希望把資料庫連接請求平均分布到各個節點的上話,我們可以使
用 GBase JDBC 集群高可用負載均衡功能(該功能需要 GBase JDBC 8.3.81.53_build51.1 及以上版本。)。
高可用負載均衡是 GBaseJDBC 針對集群開發的介面層面的客戶端負載均衡功能。該功能能把客戶發送來的資料庫連接請求分發到各個節點,在 GBaseJDBC8.3.81.53_built51.1 版本中負載均衡策略為輪詢。
二、使用場景
假設有如下場景:
1、部署有一個 GBase 集群,三個節點 IP 如下:
192.168.1.56;
192.168.1.57;
192.168.1.58;
假如3個節點既是管理節點又是資料節點,如果我們希望把資料庫連接請求均攤到三個節點時,創建連接時設定failoverEnable、hostList、gclusterId 三個引數即可。
連接串寫法如下:
String URL =
“jdbc:gbase://192.168.1.56:5258/test?user=gbase&password=xxxxxx&failoverEnable=true&hostList=192.168.1.57,192.168.1.58&gclusterId=gcl1”
其中 gclusterId 引數取值范圍:必須以 a-z 任意字符開頭的可以包含 a-z、 0-9 所有字符長度為最大為 20 的字串。
……
for (int I = 0; i < 9; i++) {
DriverManager.getConnection(SampleGBaseJDBCLoadbalance.URL);
}
……
上述代碼會創建 9 個連接,假設三個節點都是可用狀態,執行結果是每個節點分配到三個連接;如果其中一個節點不可用狀態,GBaseJDBC 驅動會把 9 個資料庫連接請求分配到另外兩個節點上。
注:
高可用負載均衡功能集包含高可用性,即當開始高可用負載均衡時高可用性同時開啟。
三、相關引數釋義
1、failoverEnable
8a 集群使用,創建連接時,如果集群當
前集群節點不可用,是否自動路由到下 false 一個可用的節點。默認為 false;
2、hostList
8a 集群使用,當 failoverEnable=true的情況下生效。記錄集群中節點的 IP 以逗號分隔。
例:集群三個節點
192.168.0.2;
192.168.0.3;
192.168.0.5;
在創建資料庫連接時,如果當前節點為192.168.0.2,不可用,希望自動路由到下一個可用連接的話,可以設定failoverEnable=true&hostList=192.168.0.3,192.168.0.5
3、gclusterId
8a 集群使用,當 failoverEnable=true
且 hostList 引數不為空時,設定該引數,8a 集群介面的負載均衡開啟(負載策略為輪詢)。gclusterId 必須以 a-z
任意字符開頭的字串,gclusterId 組成可以包含 a-z、0-9 所有字符長度為最大為 20。在同一應用程式中,gclusterId可有程式開發人員自行決定,全工程唯一即可。
注:當設定 gclusteId 時,自動路由功能自動轉換為高可用負載均衡。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/269825.html
標籤:數據倉庫
