17. 读写分离
1. 读写分离
1.1 介绍
读写分离,简单地说是把对数据库的读和写操作分开,以对应不同的数据库服务器。主数据库提供写操作,从数据库提供读操作,这样能有效地减轻单台数据库的压力。
通过MyCat即可轻易实现上述功能,不仅可以支持MySQL,也可以支持Oracle和SQL Server。
1.2 一主一从
MySQL的主从复制,是基于二进制日志(binlog)实现的。
1.3 一主一从读写分离
balance配置
- 负载均衡策略
参数值 | 含义 |
---|---|
0 | 不开启读写分离机制,所有读操作都发送到当前可用的writeHost上 |
1 | 全部的readHost与备用的writeHost都参与select语句的负载均衡(主要针对于双主双从模式) |
2 | 所有的读写操作都随机在writeHost, readHost上分发 |
3 | 所有的读请求随机分发到writeHost对应的readHost上执行,writeHost不负担读压力 |
设置为1或者3可实现读写分离
1.4 双主双从
一个主机Master:1用于处理所有写请求,它的从机Slave1和另一台主机Master2还有它的从机Slave2负责所有读请求。当Master1 主机宕机后,Master2主机负责写请求,Master1、Master2互为备机。架构图如下:
- 搭建
以下是图中内容转换为Markdown格式的内容:
1 |
|
2. 重启MySQL服务器
1 |
|
1.5 双主双从读写分离
17. 读写分离
http://binbo-zappy.github.io/2024/12/06/MySQL/17-读写分离/