MyCat 1.6.7(二)高可用及权限
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyCat 1.6.7(二)高可用及权限相关的知识,希望对你有一定的参考价值。
参考技术A 官方建议是采用基于硬件的负载均衡器或者软件方式的HAproxy,HAProxy相比LVS的使用要简单很多,功能方面也很丰富,免费开源,稳定性也是非常好,可以与LVS相媲美,根据官方文档,HAProxy可以跑满10Gbps-New benchmark of HAProxy at 10 Gbps using Myricom’s 10GbE NICs (Myri-10G PCI-Express),这个作为软件级负载均衡,也是比较惊人的,下图是HAproxy+Mycat集群+mysql主从所组成的高可用性方案如果还担心HAproxy的稳定性和单点问题,则可以用keepalived的VIP的浮动功能,加以强化
haproxy.conf
启动
验证负载均衡
除了以上 haproxy 做 Mysql 的负载均衡,其实 nginx 也可以做,Nginx1.9 以上支持 TCP 协议,需要装一个插件,具体的 Nginx 安装可以看 nginx-1.18.0 安装 ,至于 keepalived 大家可以参考 keepalived(一) 安装教程 。对于 haproxy 和 Nginx 性能对比,大家可以看这篇博客 https://zhuanlan.zhihu.com/p/41354937 。
keepalived 的配置
目前Mycat对于中间件的连续控制并没有做太复杂的控制,目前只做了中间件逻辑库级别的读写权限控制。是通过 server.xml 的 user 标签进行配置
在 user 标签下的 privileges 标签可以对逻辑库(schema)、表(table)进行精细化的DML权限控制。
privileges 标签下的 check 属性,如为 true 开启权限检查,为 false 不开启,默认为 false。
由于 Mycat 一个用户的 schemas 属性可配置多个逻辑库(schema),所以 privileges 的下级节点 schema 节点同样可配置多个,对多库多表进行细粒度的 DML 权限控制。
firewall 标签用来定义防火墙;firewall 下 whitehost 标签用来定义 IP 白名单,blacklist 用来定义 SQL 黑名单。
可以通过设置白名单,实现某主机某用户可以访问Mycat,而其他主机用户禁止访问
可以设置黑名单,实现Mycat对具体SQL操作的拦截,如增删改查等操作的拦截
MyCAT 源码解析合集
MyCAT 源码分析 —— 为什么阅读 MyCAT 源码?
MyCAT 源码分析 —— 调试环境搭建
MyCAT 源码分析 —— 【单库单表】插入
MyCAT 源码分析 —— 【单库单表】查询
MyCAT 源码解析 —— 分片结果合并(一)
MyCAT 源码分析 —— 跨库两表Join
MyCAT 源码分析 —— XA分布式事务
MyCAT 源码分析 —— PreparedStatement 重新入门
MyCAT 源码分析 —— SQL ON MongoDB
以上是关于MyCat 1.6.7(二)高可用及权限的主要内容,如果未能解决你的问题,请参考以下文章