[Mycat]

概念:数据库中间件 mycat也可以理解为是数据库代理。 mycat的三大功能:分表、读写分离、主从切换

sharing-jdbc也是很流行的中间件

中间件,左边连接一个,右边连接一个,左边连接应用,右边连接数据库,好处什么?便于各个部件之间的沟通

例子:Tomcat 也是一个中间件,连接客户端和服务端

推理:mycat中间件就是连接java应用和数据库的桥梁

为什么要用mycat?

 1.java应用和mysql数据库紧耦合

 2.高访问量,高并发对数据库的压力

 3.读写请求数据不一致

数据库失去连接怎么办?

预备一个上线的备机,主备切换(但是随之而来的问题,你切换备机,java应用连接数据库的配置需要改变,这里紧耦合)

高访问量,高并发怎么办?

多弄几个数据库一块抗,那么久需要配置多个数据源,

mycat的作用:你java应用不用再管数据库的配置了,交给mycat,java应用只需要访问mycat即可,mycat后面有几个数据库,都不需要你java应用管了,思想和微服务很像

java应用只需要把sql语句传给mycat即可,不管你是select还是update ,mycat会发送给对应的数据库,java程序跟数据库做到了解耦合,读写分离

 写数据库的表更新,读数据库的数据也跟着更新看,主从复制

 为了抵御风险,备出一份读写数据库,双主双从

先来搭建一个单写单读的数据库,之后再来搭建双主双从的读写分离

1.读写分离(主从复制)

2.数据分片(垂直+水平) 分库+分表 为什么做这个事情?

数据库分布式,一个表的数据太大,查询的速度就会很慢了(单张表的瓶颈),表数据多了,库的压力也大

 3.多数据源整合

不同数据库整合

mycat的原理:拦截,它拦截用户发过来的sql语句,首先对sql语句做分析,如分片分析,路由分析,读写分离分析,缓存分析,然后把sql发往后端真实的数据库

mycat的安装

1.centos  rpm安装 需要有.rpm安装包

2.yum方式  需要联网

3.解压后需要编译安装

4.解压后直接使用

rz选择安装包,

解压报tar -zxvf,之后把包拷贝到/usr/local中去(opt一般放压缩包)

远程查看包命令:ll /usr/local

拷贝命令 cp -r mycat /usr/local

mycat 的bin目录放的是可执行文件

config配置文件,其中三个比较重要

启动之前我们需要修改一些配置

3.启动mycat

猜你喜欢

转载自www.cnblogs.com/liudao666/p/12370463.html