首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL分布式高可用的一个补充

这是学习笔记的第2014篇文章

前几天码了一篇迁移到MySQL的架构演进的文章,迁移到MySQL的架构演进(一),收到的反馈还不少,看来大家碰到的都是共性的问题。

在这个基础上,我们对数据库层面的架构算是达到了一个稳定的状态,数据库实现了分布式,而且数据库间有MHA的高可用,听起来服务高可用应该差不多了,但是实际上还有较大的差距。

比如如下的分布式架构,实现了基于中间件的分库分表的方案。

但是这里有一个明显的问题,对于一个中间件来说,如果中间件所在的服务器出现故障或者中间件出现故障,这个时候该如何处理,我们早期的方式是手工的,即配置一个镜像节点,然后镜像节点作为备用,一旦出现了差异,应用端就需要修改IP切换到新的节点上。显然这种方式是手工高可用,如果是在节假日的时候发生,那么整个服务的不可用就会完全失控。

所以我们需要考虑中间件的高可用,我们可以抽象一个代理层,即代理层来负责负载均衡,能够将请求分发至两个中间件节点,但是这又会引出一个新的问题,代理层是提供一个统一的入口来访问,代理层的高可用该怎么办呢,这就引出了另外一个问题。

所以问题看起来会越来越复杂,我们需要解决的就是这个层面的事情,我们可以考虑使用LVS+keepalive来完成这个代理层的高可用和负载均衡的配置。

整个架构的设计方式如下图所示:

LVS+keepalive负责上层的高可用,可以承接多套集群环境,可以是一种通用的解决方案。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190620A006VD00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券