Mycat2读写分离配置

原创
08/11 14:05
阅读数 1K

一、概述

    读写分离是常见的一种数据库架构,一般是由1主多从构成,特殊场景下也会存在多主多从的架构。以下是常见的架构示意图:

    一主一从

一主多从

双主双从

双主多从

    无论哪一种架构,对于应用程序来说都是多个数据源,增加了代码的复杂性。如果配合mycat,则可以实现屏蔽数据库复杂性,面向应用程序提供统一入口的功能。

二、配置

    mycat2的配置逻辑架构大致如下:

    本文采用mycat2特有的注释进行相关配置读写分离。

    准备:

        1、已配置主从的两个mysql实例

        2、mycat2实例

    步骤:

        1、使用Navicat连接mycat2

        2、增加mysql读写库数据源

/*+ mycat:createDataSource{
	"dbType":"mysql",
	"idleTimeout":60000,
	"initSqls":[],
	"initSqlsGetConnection":true,
	"instanceType":"READ_WRITE",
	"maxCon":1000,
	"maxConnectTimeout":3000,
	"maxRetryCount":5,
	"minCon":1,
	"name":"write01",
	"password":"123456",
	"type":"JDBC",
	"url":"jdbc:mysql://127.0.0.1:3306?useUnicode=true&serverTimezone=UTC&characterEncoding=UTF-8",
	"user":"root",
	"weight":0
} */;
/*+ mycat:createDataSource{
	"dbType":"mysql",
	"idleTimeout":60000,
	"initSqls":[],
	"initSqlsGetConnection":true,
	"instanceType":"READ_WRITE",
	"maxCon":1000,
	"maxConnectTimeout":3000,
	"maxRetryCount":5,
	"minCon":1,
	"name":"read01",
	"password":"123456",
	"type":"JDBC",
	"url":"jdbc:mysql://127.0.0.1:3306?useUnicode=true&serverTimezone=UTC&characterEncoding=UTF-8",
	"user":"root",
	"weight":0
} */;

        可通过/*+ mycat:showDataSources{} */语句查询已创建的数据源

        2、创建读写集群

/*! mycat:createCluster{
	"clusterType":"MASTER_SLAVE",
	"heartbeat":{
		"heartbeatTimeout":1000,
		"maxRetry":3,
		"minSwitchTimeInterval":300,
		"slaveThreshold":0
	},
	"masters":[
		"write01" //主节点
	],
	"maxCon":2000,
	"name":"c0",
	"readBalanceType":"BALANCE_ALL",
	"replicas":[
		"read01" //从节点
	],
	"switchType":"SWITCH"
} */;

        可通过/*+ mycat:showClusters{} */查看集群

        3、创建逻辑库

/*+ mycat:createSchema{
	"customTables":{},
	"globalTables":{},
	"normalTables":{},
	"schemaName":"test_add_Schema",
	"shardingTables":{},
	"targetName":"c0"
} */;

        注意targetName指的是集群的名字。

        4、以上执行成功后,重新连接mycat即可看到逻辑库,打击打开可以看到库内所有表(不用单独再创建每一张物理表的逻辑表,自动映射)。

有兴趣的大佬大神可以关注下小弟的微信公共号,一起学习交流,扫描以下二维码关注即可。

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部