分库分表中间件的高可用实践
【转载声明】本文为转载文章,原作者「alchemystarlzy」,版权归原作者所有。 原文链接:https://mp.weixin.qq.com/s/KD1IzbQeAqtI3WosJ-efzw
公众号:杨建荣的学习笔记 · 作者:alchemystarlzy · 发布:2021-05-14 23:46:12 · 原文链接
分库分表中间件的高可用实践
前言
分库分表中间件在我们一年多的锤炼下,基本解决了可用性和高性能的问题(只能说基本,肯定还有隐藏的坑要填),问题自然而然的就聚焦于高可用。本文就阐述了我们在这方面做出的一些工作。
哪些高可用的问题
作为一个无状态的中间件,高可用问题并没有那么困难。但是尽量减少不可用期间的流量损失,还是需要一定的工作的。这些流量损失主要分布在:
(1)某台中间件所在的物理机突然宕机。
(2)中间件的升级和发布。
由于我们的中间件是作为数据库的代理提供给应用的,即应用把我们的中间件当做数据库,如下图所示:

所以出现上述问题后,业务上很难通过重试等操作去屏蔽这些影响。这就势必需要我们在底层做一些操作,能够自动的感知中间件的状态从而有效避免流量的损失。
