常用的数据库架构及主从的工作原理

常用的数据库架构及主从的工作原理

数据库的架构原则

  1. 高可用
  2. 高性能
  3. 可拓展
  4. 一致性

数据库常用的架构

目前市面上常用的架构主要有两种:
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 重做中继日志中的事件,将改变反映它自己的数据

以上的内容属于自己对于数据库架构的理解,然后整理下来,如果有理解错误的地方,欢迎随时讨论~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100710.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 1M 等于多少字节

    1M 等于多少字节1M=1024k=1048576字节算法是:8bit(位)=1Byte(字节)1024Byte(字节)=1KB1024KB=1MB1024MB=1GB1024GB=1TB一个汉字要占用2个字节如果换算成中文汉字那么就是1M=524288个汉字

    2022年5月9日
    91
  • 一分钟制作U盘版BT3 – 有图滴儿 bt3破解教程

    一分钟制作U盘版BT3 – 有图滴儿 bt3破解教程

    2021年12月10日
    47
  • 最全的android图片加密

    最全的android图片加密在android开发过程中有些时候一些重要的图片,我们不希望用户通过文件管理直接能查看,我们该怎么办呢,当然你可以把图片放在android的内部存储中,data/data/下,但毕竟androidroot用户一大堆,还是解决不了问题。那么我们就需要对图片进行加密,当然加密的方法有很多种,下面给大家推荐我常用的2中方法,基本上可以解决大部分问题。   1、国际标准的AES加密,通过加密流存储

    2022年6月21日
    42
  • 两千块钱带来的 “希望”

    两千块钱带来的 “希望”

    2021年8月9日
    45
  • 最详细的Vuex教程

    最详细的Vuex教程最详细的Vuex教程什么是Vuex?vuex是一个专门为vue.js设计的集中式状态管理架构。状态?我把它理解为在data中的属性需要共享给其他vue组件使用的部分,就叫做状态。简单的说就是data中需要共用的属性。引入Vuex(前提是已经用Vue脚手架工具构建好项目)1、利用npm包管理工具,进行安装vuex。在控制命令行中输入下边的命令就可以了。npminstallvuex

    2022年6月9日
    29
  • java pfx_如何在Java处理PFX格式证书

    java pfx_如何在Java处理PFX格式证书如何在Java处理PFX格式证书公钥加密技术12号标准(PublicKeyCryptographyStandards#12,PKCS#12)为存储和传输用户或服务器私钥、公钥和证书指定了一个可移植的格式。它是一种二进制格式,这些文件也称为PFX文件。开发人员通常需要将PFX文件转换为某些不同的格式,如PEM或JKS,以便可以为使用SSL通信的独立Java客户端或WebLogicServe…

    2022年5月1日
    117

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号