連接參數(shù)介紹
loadBalanceHosts控制負載均衡,默認禁用,開啟后依序選擇一個ip1:port進行連接。
targetServerType指定Connection連接特定狀態(tài)的數(shù)據(jù)庫實例,可選狀態(tài)值包括any, primary, master, slave, secondary, preferSlave and preferSecondary
實際上targetServerType的值我們只需要知道m(xù)aster、slave、preferSlave三個就可以,其它的可以看做同義詞。前兩個值比較容易理解:master是可寫(當然也可讀),slave是可讀(不可寫)。preferSlave是優(yōu)選可讀狀態(tài):只要上面的ip:port列表有一個可讀狀態(tài)的實例,則優(yōu)選進行連接,除非所有的可讀實例都不可連接(比如所有備機宕機),才會去連接可寫節(jié)點。
常見寫場景配置
loadBalanceHosts=false&targetServerType=master
loadBalanceHosts參數(shù)默認是false,可不用配置,此時應用層可以進行寫操作。
參考代碼如下

此時192.168.137.101、192.168.137.102、192.168.137.103三個節(jié)點無論角色如何發(fā)生切換,應用層可自動找到master角色進行寫操作,下面是測試截圖:
-
master在192.168.137.101上

-
master在192.168.137.102上

-
master在192.168.137.103上

常見讀場景配置
loadBalanceHosts=true&targetServerType=preferSlave
下面對比測試下targetServerType=slave與targetServerType=preferSlave的區(qū)別
- targetServerType=slave

- targetServerType=preferSlave

從上面兩個測試截圖可以看出:當所有讀寫節(jié)點都正常提供服務時,targetServerType=preferSlave會優(yōu)先選擇讀節(jié)點,而不會去連接寫節(jié)點。
接下來關閉讀節(jié)點192.168.137.102之后進行測試

可以看到關閉讀節(jié)點192.168.137.102后,targetServerType=preferSlave還是會只去連接剩下的讀節(jié)點192.168.137.103,而不會連接寫節(jié)點192.168.137.101
再同時關閉讀節(jié)點192.168.137.102和192.168.137.103之后進行測試

可以看到同時關閉讀節(jié)點192.168.137.102和192.168.137.103后,targetServerType=preferSlave最后會去連接寫節(jié)點192.168.137.101




