什么是读写分离?
读写分离,简单地说是把对数据库的读和写操作分开,以对应不同的数据库服务器。主数据库提供写操作,从数据库提供读操作,这样能有效地减轻单台数据库的压力。
一主一从
MyCat控制后台数据库的读写分离和负载均衡由schema.xml文件datahost标签的balance属性控
制。
schema.xml配置:
负责均衡的参数balance,取值有4种,具体含义如下:
在一主一从模式的读写分离中,balance配置1或3都是可以完成读写分离的。
server.xml配置:
双主双从结构搭建
一个主机 Master1 用于处理所有写请求,它的从机 Slave1 和另一台主机 Master2 还有它的从
机 Slave2 负责所有读请求。当 Master1 主机宕机后,Master2 主机负责写请求,Master1 、
Master2 互为备机。架构图如下:
主库配置:
主库Master2配置同上,此处省略。。。
从库配置:
主库Slave2配置同上,此处省略。。。
从库关联主库:
1.两台从库配置关联的主库:
2.两台主库相互复制
经过上述的三步配置之后,双主双从的复制结构就已经搭建完成了。
双主双从读写分离
MyCat控制后台数据库的读写分离和负载均衡由schema.xml文件datahost标签的balance属性控
制,通过writeType及switchType来完成失败自动切换的。