解决ProxySQL的单点问题

ProxySQL存在单点隐患,开源架构中解决单点故障最常用的应该及时keepalived了。尤其是主备服务之间不需要“实时同步数据或状态”的服务,最为适用(举个反例,MySQL双主的高可用架构如果用keepalived的话,由于切换VIP的动作还必须考慎重的考虑主从数据一致性问题,所以切换逻辑就会比较复杂。之前写过一篇该方案的文章

ProxySQL的配置支持配置文件和数据库接口(基于SQLite)两种,基于SQLite的方式配置灵活直观,并且我们平时观察ProxySQL的运行状态也是基于该数据库接口,由这一个入口进行ProxySQL的所有操作,也比较顺手。所以我选择了基于数据库接口的配置方式,但该方式有一个弊端,就是无法方便的判断两台ProxySQL的配置是否一致,这在VIP漂移时也是一个隐患。不过我们可以通过SQLite官方提供的一个小工具sqldiff来判断两个SQLite数据文件内容是否一致。

下面我们就通过sqldiff和keepalived及其状态监控机制来实现ProxySQL的故障转移并且在执行VIP漂移前自动判断配置文件是否一致并同步。

cat /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {
   notification_email {
     ljk@xxx.com 
   }
   notification_email_from keepalived@xxx.com
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_script chk_proxysql {
    script "/etc/keepalived/check_proxysql.sh"
    interval 5
}

vrrp_instance proxysql {
    state BACKUP  #这里都为BACKUP(nopreempt才能生效)通过priority确定主备
    interface br0
    virtual_router_id 52
    priority 100
    advert_int 1

    #nopreempt  #注意主ProxySQL加,备ProxySQL上不需要加

    authentication {
        auth_type PA
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ProxySQL MGR(ProxySQL Management Group Replication)是一种基于ProxySQL高可用性、高性能、分布式数据库管理工具。它是ProxySQL与MySQL Group Replication相结合的解决方案。 ProxySQL是一款开源的MySQL流量路由工具,它能够通过代理服务器的方式将客户端的请求路由到底层的MySQL服务器。它具备负载均衡、故障转移、查询缓存、重放日志等功能,能够大大提高MySQL的性能和可用性。 而MySQL Group Replication则是MySQL官方提供的一种主从复制解决方案,它通过一组MySQL服务器来提供高可靠的数据复制和故障切换能力。 结合ProxySQL和MySQL Group Replication,就形成了ProxySQL MGR。它利用ProxySQL对数据库流量进行管理和路由,同时借助MySQL Group Replication的高可用性和故障转移能力,实现了分布式数据库管理。 ProxySQL MGR的工作原理如下:当客户端发起请求时,请求会被发送到ProxySQLProxySQL会根据事先设定的规则将请求路由到适当的MySQL服务器。ProxySQL会监控MySQL Group Replication的状态,一旦主节点出现故障,ProxySQL会自动将请求路由到新的主节点上,实现了高可用性。 此外,ProxySQL还具备自动扩缩容、读写分离、连接池管理等功能,能够进一步提升数据库的性能和可扩展性。 总之,ProxySQL MGR是一个强大的分布式数据库管理工具,能够提供高可用性、高性能的数据库解决方案。它能够提高数据库的负载能力、可用性和可扩展性,是开发者和运维人员在构建大规模分布式数据库系统时的有力工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值