数据库的高可用分布式集群

分布式: 多个数据分片,就像下图中的多个主节点。和前面的redis分片一样,redis为了解决数据一致性问题,使用了分片算法,槽道。数据库的话也有解决数据一致性的办法。
高可用: 当问题出现时,有备份。redis中使用的是主从结构,哨兵集群来监控,数据库中使用的也是主从结构,通过使用mycat来实现故障转移。
在这里插入图片描述
高可用——主从复制
主节点接收sql进行数据操作的时候,从节点复制它的动作来完成一个一模一样的操作,当主节点出现问题的时候,就可以直接使用从节点,来达成故障转移。
在这里插入图片描述
过程:主节点会开启日志文件,当有sql操作的时候主节点会把sql记录在日志文件中,从节点会启动两个线程IO和SQL,其中IO线程去监听主节点的日志文件,日志文件有变化的是,IO线程就会把对应的sql放到之间的中继日志,sql线程就会去调用中继日志中的sql,从而实现主从复制。

主从备份——单机备份
就是一个主节点对应着一个从节点,但是这样做的坏处就是不能提供多次故障转移。
在这里插入图片描述
主从备份——双向备份
主节点和从节点,你中有我,我中有你,互相备份。这样就可以实现多次的故障转移。
在这里插入图片描述

即使,我们搭建出了一个复杂的高可用数据库集群,对于使用这个集群的客户端系统必须考虑如何实现使用故障转移,如何实现数据的分片计算。实现这些目的就需要使用mycat

猜你喜欢

转载自blog.csdn.net/weixin_42596778/article/details/106544536