Java培训Mycat实现读写分离

发布时间:2020年07月06日作者:atguigu浏览次数:719

一、 读写分离

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;

能够验证读写分离


上一篇:
下一篇:
相关课程

java培训 大数据培训 前端培训

关于尚硅谷
教育理念
名师团队
学员心声
资源下载
视频下载
资料下载
工具下载
加入我们
招聘岗位
岗位介绍
招贤纳师
联系我们
全国统一咨询电话:010-56253825
地址:北京市昌平区宏福科技园2号楼3层(北京校区)

深圳市宝安区西部硅谷大厦B座C区一层(深圳校区)

上海市松江区谷阳北路166号大江商厦3层(上海校区)

武汉市东湖高新开发区东湖网谷(武汉校区)

西安市雁塔区和发智能大厦B座3层(西安校区)

成都市成华区北辰星拱青创园(成都校区)