zoukankan      html  css  js  c++  java
  • MySQL高可用架构应该考虑什么? 你认为应该如何设计?

    一、MySQL高可用架构应该考虑什么?

    1. 对业务的了解,需要考虑业务对数据库一致性要求的敏感程度,切换过程中是否有事务会丢失

    2. 对于基础设施的了解,需要了解基础设施的高可用的架构。例如 单网线,单电源等情况

    3. 对于数据库故障时间掌握,业务方最多能容忍时间范围,因为高可用切换导致的应用不可用时间

    4. 需要了解主流的高可用的优缺点:例如 MHA/PXC/MGR 等。

    5. 考虑多IDC多副本分布,支持IDC级别节点全部掉线后,业务可以切到另一个机房

    二、你认为应该如何设计?

    1. 基础层 和基础运维部门配合,了解和避免网络/ 硬盘/ 电源等是否会出现单点故障

    2. 应用层 和应用开发同学配合,在关键业务中记录SQL日志,可以做到即使切换,出现丢事务的情况,也可以通过手工补的方式保证数据一致性,例如:交易型的业务引入状态机,事务状态,应对数据库切换后事务重做

    3. 业务层 了解自己的应用,根据不同的应用制定合理的高可用策略。

    4. 单机多实例 环境及基于虚拟机或容器的设计不能分布在同一台物理机上。

    5. 最终大招 在数据库不可用 ,可以把已提及的事务先存储到队列或者其他位置,等数据库恢复,重新应用

  • 相关阅读:
    Roce ofed 环境搭建与测试
    Ubuntu 1804 搭建NFS服务器
    Redhat 8.0.0 安装与网络配置
    Centos 8.1 安装与网络配置
    SUSE 15.1 系统安装
    VSpare ESXi 7.0 基本使用(模板、iso、SRIOV)
    VSpare ESXi 7.0 服务器安装
    open SUSE leap 15.1 安装图解
    KVM虚拟机网卡连接网桥
    GitHub Action一键部署配置,值得拥有
  • 原文地址:https://www.cnblogs.com/os-linux/p/11929018.html
Copyright © 2011-2022 走看看