balance
0:不使用负载均衡
1:所有的writeHost的从节点都要参与负载(无论是读数据还是写数据),
但是writeHost的主节点只写数据,不读数据
writeHost-->有5个从节点(一般情况下,这5个写数据的从节点是不工作的,
当主节点宕机了以后从节点才会开始工作)
一旦把balance的值配置为1,说明所有的writeHost的从节点都必须要参与读和写的操作
(也就是说所有的从节点和主节点平等)
面试题:
writeHost的主节点是否参与读数据的操作?
不参与
mycat为什么这样设计?
必须要知道什么时候会配置1-->因为访问量过大导致主节点压力过大
当峰值访问量结束后-->需要回归最初的状态-->一台主节点和5台从节点
如果说在峰值访问的数据量非常大--->直接导致了主节点宕机-->
但是从节点完好-->峰值数据过去后-->主节点处于宕机状态-->
从节点无法找到主节点-->还是从节点(不工作的)
2:所有的主节点和从节点都要参与负载
(无论是writeHost的主节点还是从节点都必须实现读和写的操作)
3:所有的readHost无论是主节点还是从节点都必须参与负载,但是writeHost并不参与读的操作
readHost如果也需要配置主从(1主3从)
主节点工作,但是从节点一般情况下是不工作的,只有当主节点宕机的时候,
从节点才开始工作
所有readHost的主节点和从节点都开始工作(也就是说所有的节点都是平等的),
但是writeHost并不参与读的操作,也不参与负载!
writeType
0:自动主从(在1.4以后支持了主从关系,但是并没有支持主从复制)
也就是mycat会自动分配主从,如果说在同一个dataHost标签中配置了多个writeHost,
则mycat会自动分配主从
1:所有写操作都随机的发送到配置的 writeHost(1.5版本之前生效)
1:不进行主从(1.5版本之后生效),随机
!!!!两个writeHost,mycat会随机只向一个writeHost中写数据,
就算该writeHost宕机,也不会向另一个writeHost写入数据(???为什么这么设置???)
!!并不是标准答案,只是我的个人理解:
那个从来不写数据的writeHost是后备节点,一般情况下和readHost配置的一样,
如果writeHost宕机,单独一台readHost是不能存在的,需要后备节点的支持!!!!
2:所有的writeHost节点不再执行写的操作,所有的writeHost都停止写操作,
只供查询的操作(查询压力比较大的时候才会使用到)
switchType
无论是-1还是1都根据的是mycat所自带的主从关系
-1:不自动切换
writeHost配置的规则为一台主节点一台从节点
如果主节点宕机,从节点还是从节点,并不会自动切换为主节点
1:自动切换
根据的是mysql所配置主从关系
2:根据mysql配置主从进行切换(监视mysql的主从心跳)
Slave_IO_Runing(YES)
Slave_SQL_Running(YES)
3:和2一样,只是2为单节点,3为集群模式
mycat- schema 配置文件说明
最新推荐文章于 2024-07-21 02:09:54 发布