数据库高可用

39 阅读2分钟

主从同步

通常是指,通过设计减少系统不能提供服务的时间

在考虑MySQL数据库的高可用的架构时,主要要考虑如下几方面:

如果数据库发生了宕机或者意外中断等故障,能尽快恢复数据库的可用性,尽可能的减少停机时间,保证业务

不会因为数据库的故障而中断。

用作备份、只读副本等功能的非主节点的数据应该和主节点的数据实时或者最终保持一致。

当业务发生数据库切换时,切换前后的数据库内容应当一致,不会因为数据缺失或者数据不一致而影响业务。

主从或主主半同步复制保证高可用,可以把主从双节点数据库扩展为数据库集群。Zookeeper可以作为集群管理

主从复制: 就是有两个数据库服务器,一个是主(master)数据库服务器,另一个是从(slave)数据库服务

器。当主(master)数据库有数据写入,包括插入、删除、修改,都会在从(slave)数据库上操作一次。这

样的操作下,主从(slave)数据库的数据都是一样的,就相当于时刻在做数据备份,就算主(master)数据

库的数据全部丢失了,还有从(slave)数据库的数据,我们就可以把从(slave)数据库的数据导出来进行数

据恢复。

主从复制原理主要有三个线程不断在工作:

主(master)数据库启动bin二进制日志,这样会有一个Dump线程,这个线程是把主(master)数据库的写

入操作都会记录到这个bin的二进制文件中。

然后从(slave)数据库会启动一个I/O线程,这个线程主要是把主(master)数据库的bin二进制文件读取到

本地,并写入到中继日志(Relay log)文件中。

最后从(slave)数据库其他SQL线程,把中继日志(Relay log)文件中的事件再执行一遍,更新从(slave)

数据库的数据,保持主从数据一致。