hgproxy配置黑名单,解决主备读取不一致的问题
1、问题描述
高并发情况下,数据读取不一致。
2、问题原因
集群中使用了异步流复制,数据同步延迟造成。
3、解决方案
设置黑名单,将特定sql全部发往主节点查询。下为参考步骤。
(1)配置参数
配置文件/opt/hgproxy/etc/proxy1.conf中,如下参数设置黑白名单
[BlackList] |
black_regex_token_list
当希望特定的 SQL 发往主节点时,可以使用黑名单正则匹配。正则黑名单匹配成功发往主节点。配置时以分号分隔。配置时和下面white_regex_token_list 冲突时,以黑名单为准。默认值为空
white_regex_token_list
当希望特定的 SQL 发往备节点时,可以使用白名单正则匹配。正则白名单匹配成功发往备节点。配置时,以分号分隔。默认值为空
object_relationship_list
该参数配置文件绝对路径。该文件的功能是配置函数与表关系,表与表关系的文件路径。默认为“/opt/HighGo/tools/hgproxy/etc/object_relationship_list.json”
(2) 重启服务生效
systemctl restart hgproxy |