1.balance 负载均衡类型
balance="0":不开启读写分离机制,所有读操作都发送到当前可用的writeHost上
balance="1":全部的readHost与stand by writeHost参与select语句的负载均衡,简单的说,当双主双从模式(M1-S1,M2-S2 并且M1 M2互为主备),正常情况下,M2,S1,S2都参与select语句的负载均衡。
balance="2":所有读操作都随机的在writeHost、readHost上分发
balance="3":所有读请求随机的分发到writeHst对应的readHost执行,writeHost不负担读写压力。(1.4之后版本有)
2.writeType 负载均衡类型(一般指定0即可)
writeType="0", 所有写操作发送到配置的第一个 writeHost,第一个挂了切到还生存的第二个writeHost,重新启动后以切换后的为准,切换记录在配置文件中:dnindex.properties .
writeType="1",所有写操作都随机的发送到配置的 writeHost。1.5以后版本废弃,不推荐。
3.dbType 指定后端连接的数据库类型
目前支持二进制的mysql协议,还有其他使用 JDBC 连接的数据库,例如:mysql、mongodb、oracle、sqlserver、spark等
4.dbDriver 指定连接后端数据库使用的driver
目前可选的值有 native 和 JDBC 。
使用 native 的话,因为这个值执行的是二进制的 mysql 协议,所以可以使用 mysql 和 maridb,其他类型的则需要使用JDBC驱动来支持。(可以理解为:mysql 使用 native,其他的使用 JDBC)
如果使用 JDBC 的话需要符合 JDBC4 标准的驱动 jar 放到 mycat\lib 目录下,并检查驱动jar包中包括如下目录结构文件 META-INF\services\java.sql.Driver。 在这个文件写上具体的driver类名,例如 com.mysql.jdbc.Driver
writeHost readHost 指定后端数据库的相关配置给 mycat ,用于实例化后端连接池。
5.switchType 主从切换策略 (schema.xml 可以配置多主多从)
-1 不自动切换
1 默认值 自动切换
2 基于 MySql 主从同步(是否延时)的状态决定是否切换,心跳语句为 show slave status
备注:switchType=2、slaveThreshold="100"(设置延时时间)、心跳语句 show slave status 三者结合,从应用层方面来解决主从延时,进行切换操作