对上课讲到 ProxySQL 中间件产生两个问题的反馈

对上课讲到 ProxySQL 中间件产生两个问题的反馈
下面的第一和第二使得的ProxySQL版本是 proxysql-1.4.4.1
一、下图的61组不指定 match_pattern, 会有问题 即 不论是 “写”或者是“读”操作,
最后的路由都不会走到 62 组上, 都会执行到61组上。
我认为以下两种办法可以解决下图引起的问题,自己有测试过以下这两种方法, 是可以实现 读写分离:
1.关于读操作,设置match_pattern 的值等于 “^SELECT .* FOR UPDATE$”
2.如果 不指定  match_pattern, 那就把下面的两个 insert 语句 的顺序 即 先 insert  62 组的,再 insert  61组的
下图是上课课件的截图:

1.png

下图是我在实验中测试时发现不能实现读写分离,destination_hostgroup=10是写,同时没有指定 match_pattern; destination_hostgroup=11 是读;

2.png


二、关于 mysql_servers表,下图的演示的结果应该是正常的,因为可以正常实现读写分离;
Insert 3条分组记录,但显示有5条

3.png


下图显示正常删掉两个应该是多余的记录,但是重新 load和 save 后,还是有5条记录


4.png


5.png






 
已邀请:

wubx - 专注MySQL及架构设计

赞同来自: binbin

proxySQL 后面版本干出来一个自已觉的挺智能,但挺反人类的设计,引入一个参数:

monitor_writer_is_also_reader = Ture (默认)
 
这个参数依赖于MySQL的上的read_only 设置,假设: 

INSERT INTO mysql_replication_hostgroups VALUES (10,11,'zst1');
 
如果:
11 组的机器上的Read-only是0,1 两种情况:
 
如果是0时 会把11这组机器删掉,全部加如到10中;;
如果是1时 会把11这组机器Copy一份到10中
 
目前看是这样实现的。 
 
 

 

要回复问题请先登录注册