Mycat实现读写分离"/>
(03)Mycat实现读写分离
1、schema.xml
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="/"><schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1"></schema><dataNode name="dn1" dataHost="host1" database="atguigu_mc" /><dataHost name="host1" maxCon="1000" minCon="10" balance="2"writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100"><heartbeat>select user()</heartbeat><writeHost host="hostm1" url="192.168.67.1:3306" user="root"password="123123">
<!-- --><readHost host="hosts1" url="192.168.67.131:3306" user="root"password="123123"></readHost></writeHost></dataHost>
</mycat:schema>
(1)balance
负载均衡类型,目前的取值有4 种:
- 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”,所有读请求随机的分发到 readhost 执行,writerHost 不负担读压力
2、读写分离配置
1、创建表
create table t_replica
( id int auto_increment , name varchar(200)
);
2、分别在两个库下插入:insert into t_replica(name) values (@@hostname)
3、然后再mycat下执行select * from t_replica
更多推荐
(03)Mycat实现读写分离
发布评论