zoukankan      html  css  js  c++  java
  • 数据一致性-分区可用性-性能——多副本强同步数据库系统实现之我见

    原文:http://hedengcheng.com/?p=892

    摘要:

    一、脱离了共享存储,传统关系型数据库如何做到主备强一致

    1. 事务提交的时候,同时发起两个写日志操作,一个是将日志写到本地磁盘的操作,另一个是将日志同步到备库并且确保落盘的操作;
    2. 主库此时等待两个操作全部成功返回之后,才返回给应用方,事务提交成功;

    二、主备切换问题

      HA(High Availability)检测工具,一般部署在第三台服务器上。

    三、HA软件自身的可用性保证

      3台HA主机,通过Paxos/Raft进行自动选主。

    四、无法识别出当前是网络故障,还是主库Crash的问题

      在数据库服务器上部署HA Client,并且引入HA Client到HA Master的租约(Lease)机制。

    五、性能和单点库(主库crash备库单点)问题

      两个Slave,只要有一个Slave日志同步完成,事务就可以提交,极大地减少了某一个网络抖动造成的影响。

  • 相关阅读:
    原型模式
    简单工厂模式与工厂方法模式
    监听器 Listener
    代理模式
    装饰模式
    软件设计的原则
    事务的特性和隔离级别
    JDBC事务(三)ThreadLocal绑定Connection
    JDBC事务(二)转账示例
    JDBC事务(一)
  • 原文地址:https://www.cnblogs.com/chanedi/p/4398227.html
Copyright © 2011-2022 走看看