数据库的架构原则
- 高可用
- 高性能
- 可拓展
- 一致性
数据库常用的架构
目前市面上常用的架构主要有两种:
1、一主多从
2、双机热备
下面我们来了解一下,什么是一主多从呢?
一主多从
一主多从指的是,当我们客户端发起读写请求的时候,我们会从mysql服务进行读写数据。假设我们目前有三台mysql服务,其中一台作为主master服务,另外两台作为从salve。master拥有读写的权限,主要承担了写的工作,salve只有读的权限,主要承担了读的操作。当客服端发起请求时,他会将请求分流,实现读写分离。
优点
1、读写分离,分担了单台数据库或者单台服务器的压力
缺点
1、主从延时,可能会导致数据的不一致性
双机热备
什么是双机热备?
双机热备,其实刚好就是处理了一主多从的主从延时问题,避免了主从不一致的情况。并且双机热备是读和写都在一台服务上进行操作。
优点:
1、数据马上就写入,没有主从延时
2、当master挂掉的时候,他会从vip(虚拟ip)就会指向slave上,然后salve就会变成称为master,所以的写入操作就会到第二台服务器上,确定系统的高可用性
缺点:
1、比如当master宕机的时候,slave会变成主,那么期间哪怕master服务恢复正常,原先的master会变成从,slave变成主,如果想要恢复的话,就需要从Keepalived进行调整。
了解了这么多,我们来看一下一主多从和双机热备有什么区别?
首先双机热备弥补了一主多从,主从延时的缺点;而双机热备它在服务器上的压力并没有被分担,他主要是靠硬件往上扛。
个人理解:
当我们的业务如果读的操作偏多,其实一主多从的架构会更适合一点,反之当我们系统的写入操作更多的时候,那么双机热备的架构会更好。其实每个架构都会有自己的优缺点,适用于我们的业务场景的架构才是最好的。
主从同步的工作原理
1、master 将改变记录到二进制日志(binary log)中
2、slava将master的 binary log events拷贝到它的中继日志(relay log)
3、slave 重做中继日志中的事件,将改变反映它自己的数据
以上的内容属于自己对于数据库架构的理解,然后整理下来,如果有理解错误的地方,欢迎随时讨论~
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/100710.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...