mycat 用作資料讀寫分離 , 配置檔案 :
<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn"></schema>
<dataNode name="dn" dataHost="localhost" database="db" />
<dataHost name="localhost" maxCon="1000" minCon="10" balance="3"
writeType="0" dbType="mysql" dbDriver="native" switchType="2" slaveThreshold="100">
<heartbeat>show slave status</heartbeat>
<writeHost host="hostM1" url="192.168.1.50:3306" user="stu” password="123qqq...A">
<readHost host="hostS2" url="192.168.1.51:3306" user="stu" password="123qqq...A" />
<readHost host="hostS3" url="192.168.1.52:3306" user="stu" password="123qqq...A" />
<readHost host="hostS4" url="192.168.1.53:3306" user="stu" password="123qqq...A" />
<readHost host="hostS5" url="192.168.1.54:3306" user="stu" password="123qqq...A" />
<readHost host="hostS6" url="192.168.1.55:3306" user="stu" password="123qqq...A" />
</writeHost>
<writeHost host="hostM2" url="192.168.1.51:3306" user="stu" password="123qqq...A">
<readHost host="hostS1" url="192.168.1.53:3306" user="stu" password="123qqq...A" />
<readHost host="hostS2" url="192.168.1.54:3306" user="stu" password="123qqq...A" />
<readHost host="hostS3" url="192.168.1.50:3306" user="stu" password="123qqq...A" />
<readHost host="hostS4" url="192.168.1.52:3306" user="stu" password="123qqq...A" />
<readHost host="hostS5" url="192.168.1.55:3306" user="stu" password="123qqq...A" />
</writeHost>
<writeHost host="hostM3" url="192.168.1.52:3306" user="stu" password="123qqq...A">
<readHost host="hostS1" url="192.168.1.53:3306" user="stu" password="123qqq...A" />
<readHost host="hostS2" url="192.168.1.54:3306" user="stu" password="123qqq...A" />
<readHost host="hostS3" url="192.168.1.51:3306" user="stu" password="123qqq...A" />
<readHost host="hostS4" url="192.168.1.50:3306" user="stu" password="123qqq...A" />
<readHost host="hostS5" url="192.168.1.55:3306" user="stu" password="123qqq...A" />
</writeHost>
</dataHost>
balance取值有個分别為0,1,2,3
其中balance=0:表示不開啟讀寫分離機制,所有讀寫發生自writehost上
balance=1:全部的readhost與stand by writehost參與讀的負載均衡
balance=2:所有讀操作都是随機發生在writehost和readhost上
balance=3:所有讀請求随機的分發到writehost對應的readhost執行,writehost不參與讀請求
writeType取值可以是0,1
其中writeType=0:表示隻寫配置檔案最前面又是主庫的檔案段執行讀寫分離.
writetype=1:所有讀操作都随機發送到配置的writehost
switchType取值有4個,其中switchType=2,表示基于主從同步狀态決定是否切換.