Java培训Mycat实现读写分离

一、 读写分离

1、 配置文件修改

  • 修改配置文件schema.xml

<?xml version=”1.0″?>

<!DOCTYPE mycat:schema SYSTEM “schema.dtd”>

<mycat:schema xmlns:mycat=”http://io.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>

Balance——负载均衡类型,目前的取值有4 种:

1. balance=”0″, 不开启读写分离机制,所有读操作都发送到当前可用的 writeHost 上。

2. balance=”1″,全部的 readHost 与 stand by writeHost 参与 select 语句的负载均衡,简单的说,当双主双从模式(M1->S1,M2->S2,并且 M1 与 M2 互为主备),正常情况下,M2,S1,S2 都参与 select 语句的负载均衡。

3. balance=”2″,所有读操作都随机的在 writeHost、readhost 上分发。

4. balance=”3″,所有读请求随机的分发到 readhost 执行,writerHost 不负担读压力

Java培训Mycat实现读写分离

2、重启Mycat

重启Mycat,让新配置生效

3、验证

  • 创建表

create table t_replica

(    id  int auto_increment ,

     name varchar(200)

);

Java培训Mycat实现读写分离

  • 插入数据

分别在两个库下插入:insert into t_replica(name) values (@@hostname);

Java培训Mycat实现读写分离

  • 验证

然后再mycat下执行:select * from t_replica;

能够验证读写分离。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值