1、概述

数据库中间件

① Java与数据库紧耦合。

② 高访问量高并发对数据库的压力。

③ 读写请求数据不一致

对比:image-20220128195056298

作用

读写分离:配合主从复制、主备模式

数据分片:分库分表

多数据源整合

image-20220128195358045

原理

拦截

image-20220128195439600

三个重要配置文件

1、逻辑库、表、分片节点

2、分片规则

3、用户、系统配置

2、读写分离

Myqsl:从接入点开始复制

一主一从

日志格式

balance属性:读写分离

复制原理:

image-20220128195544208

双主双从

主备切换

image-20220128195329105

3、分库分表

分库

image-20220128195834488

分表

多表联查

全局表:全局一致性(广播)

常用分片规则:

取模、分片枚举、范围约定、日期

全局序列

1、本地文件

2、时间戳

3、数据库方式

4、reids、雪花算法等

4、基于HA机制的Mycat高可用

Mycat集群保证数据库高可用

haproxy保证mycat高可用(负载均衡)

Keepalived保证haproxy高可用(创建虚拟ip)

image-20220128200457657

安全权限

user、privileges、sql拦截

6、监控

image-20220128200635053