<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<schema name="lfz_schema" checkSQLschema="false" dataNode="dn1"/>
<dataNode name="dn1" dataHost="localhost1" database="lfz"/>
<dataHost name="localhost1" maxCon="100" minCon="5" balance="3" writeType="0" switchType="3" dbType="mysql" dbDriver="native">
<heartbeat>show status like 'wsrep%'</heartbeat>
<writeHost host="hostM1" url="127.0.0.1:4000" user="root" password="root">
<readHost host="hostS1" url="127.0.0.1:4000" user="root" password="root"/>
</writeHost>
<writeHost host="hostM2" url="127.0.0.1:5000" user="root" password="root">
<readHost host="hostS2" url="127.0.0.1:5000" user="root" password="root"/>
</writeHost>
<writeHost host="hostM3" url="127.0.0.1:6000" user="root" password="root">
<readHost host="hostS3" url="127.0.0.1:6000" user="root" password="root"/>
</writeHost>
</dataHost>
</mycat:schema>
- writeType="0"代表写请求只发到当前主节点
-
balance="3"
代表读请求随机打到所有活着的readHost上,所以设置了和writeHost一样的readHost。设成2,删去所有的readHost也能达到一样的效果,但是3的作用更高级、更符合语义
- switchType="3"代表根据pxc集群状态判断是否切换主节点