• 【架构设计】冷备/热备/温备、水平扩展/垂直扩展、弹性扩容


    冷备/热备/温备

    热备(在线备份):在数据库运行时直接备份,对数据库操作没有任何影响。
    冷备(离线备份):在数据库停止时进行备份。
    温备:在数据库运行时加全局读锁备份,保证了备份数据的一致性,但对性能有影响。

    热备流程

    1. 备份开始时,记录重做日志的日志序号(LSN)。
    2. 复制共享表空间和独立表空间的文件。
    3. 复制完后,再次记录重做日志的日志序号(LSN)。
    4. 通过前面记录的日志序号来复制在备份时产生的重做日志。

    冷备优点

    • 备份简单,只需要复制相关文件即可。
    • 恢复简单而且速度快,不需要执行任何 SQL 语句,也不需要重建索引。

    复制

    数据库复制的原理是异步实时的将二进制日志(binlog) 重做并应用到从数据库。

    水平扩展(平行扩容?)/垂直扩展

    在这里插入图片描述

    平行扩容

    平行扩容也就是水平扩容,以增加节点的方式扩展整个数据库,达到系统对数据库的需求。平行扩容简而言之就是把数据库已有的数据转移到另一个内存大的数据库当中,数据在迁移的过程中需要满足业务可用和数据不可丢失两个方面,否则会影响公司的正常运营,尤其是数据丢失将会给企业带来极大的危害,因此在使用平行扩容的时候建议备份数据,这样数据即使损坏,还有一份完整的数据库可以使用,这也是程序员都会做的一项工作。

    平行扩容是企业转移数据中常用的一种方式,虽然风险比较大,但是只要做好准备工作,都可以实现数据的转移,这样可以实现系统内存合理化的利用,不会造成浪费。现在数据迁移技术逐渐成熟,系统升级过程中不会影响系统的使用,业务人员也是可以了解客户信息,不过增加客户信息建议数据迁移之后再统一输入。

    垂直扩展

    提升单机处理能力。垂直扩展的方式又有两种:

    (1)增强单机硬件性能,例如:增加CPU核数如32核,升级更好的网卡如万兆,升级更好的硬盘如SSD,扩充硬盘容量如2T,扩充系统内存如128G;

    (2)提升单机架构性能,例如:使用Cache来减少IO次数,使用异步来增加单服务吞吐量,使用无锁数据结构来减少响应时间;

    在互联网业务发展非常迅猛的早期,如果预算不是问题,强烈建议使用“增强单机硬件性能”的方式提升系统并发能力,因为这个阶段,公司的战略往往是发展业务抢时间,而“增强单机硬件性能”往往是最快的方法。

    平行扩容和垂直扩容有什么区别?

    平行扩容和垂直扩容是两种不同的方式,从“平行”和“垂直”两个词语上就能够看出来它的本质区别,平行则是从左往右的一种水平方式,垂直则是自上而下的一种方式,扩容的方向不同,难度就会不同。垂直扩容是增加内存的方式使得整个系统的容量扩充,扩容的难度比较低,不过会受系统内存的限制,任何一个系统都会有相应的运行内存和存储内存,不可能无限制的扩大,当扩大到一定程度时就会自动停止,则需要使用其它的方式解决数据库满的问题。水平扩容的难度比较大,扩容的过程中数据可能会丢失,建议使用redis cluster方法解决。

    不管是提升单机硬件性能,还是提升单机架构性能,都有一个致命的不足:单机性能总是有极限的。

    综上所述,水平扩容就是选择一个更大容量的数据库,保证企业内的数据都能够得到合理的保存,垂直扩容只能够解决眼前暂时的问题,后续还需要进行水平扩容,因此建议人们直接选择水平扩容的方式。

    弹性扩容

    操作步骤

    您可以配置多个触发器,EDAS将根据触发器自动为您扩容和缩容应用实例。

    1. 登录EDAS控制台
    2. 在左侧导航栏中单击应用列表,在顶部菜单栏选择地域并在页面上方选择微服务空间,然后在应用列表页面单击具体的应用名称。
    3. 在应用详情页面的左侧导航栏选择应用设置 > 弹性伸缩,然后单击添加弹性策略
      您也可以在 应用总览页面右上角,选择 扩缩 > 弹性扩缩,然后单击 添加弹性策略。您也可以通过页面下方的 快速添加指标策略快速添加定时策略区域来添加弹性策略。
    4. 策略名称的文本框中输入自定义的弹性策略名称。
      说明 策略名称必须以字母开头,允许数字、字母、短划线(-)或下划线(_)组成。最大长度30个字符。
    5. 触发条件区域单击新增触发器,然后在右侧弹出的新增触发器面板配置触发器规则,配置完成后单击确定
      表 1. 弹性策略触发器参数说明
      参数描述
      触发器名称必须以字母开头,允许数字、字母、短划线(-)或下划线(_)组成。最大长度30个字符。
      触发器类型选择系统提供的触发器类型,当前支持定时触发器应用指标触发器
      • 定时触发器

        适用于负载强周期型应用,例如白天(08:00~20:00)负载高、 晚上(20:00~08:00)负载低或工作日(周一~周五)负载高、周末(周六~周日)负载低的周期性应用。

        1. 周期:您可在下拉列表中选择每天每周每月
          说明 选择 每周后根据需求可选择具体日期来配置触发规则,如果一周内不同日期的单天内触发规则不同,可通过创建多条定时触发器来实现。
        2. 单天内的触发时间:通过单击添加来创建每天的触发时间和实例数。
          注意
          • 如果错过设定的触发时刻,定时策略需要等到下一周期才会被触发。
          • 两个邻近触发时间间隔要大于10分钟。
          • 两个邻近触发时刻设定的实例数变化需要大于10%,即Pod2 / Pod1 > 1.1或者Pod2/ Pod1 < 0.9,其中Pod1是前一个时刻设定的实例数,Pod2是后一个时刻设定的实例数。
        3. 之后保持实例数:跟据实际情况设置弹性策略执行后保持的实例数,可设置范围为0~50。
        4. 触发模式:触发周期选择每天时呈现此参数,可在下拉列表中选择边沿触发模式水平触发模式
          • 水平触发:弹性策略在两个设定时间段内,一直保持开始时刻的设定值。
          • 边沿触发:弹性策略只在设定时刻时生效,超过设定时刻则忽略。
      • 应用指标触发器

        适用于应用指标与容量线性相关型应用,例如通过压测确定应用单实例可以处理200 QPS,当QPS达到1200的时候,将扩容至6个实例的应用。

        1. 指标名:支持选择应用提供服务平均每秒请求量应用提供服务平均响应时间(毫秒)应用平均CPU使用率应用平均内存使用率四种指标。
        2. 按均值计算指标数据:触发器的类型为应用指标触发器且指标名称选择应用提供服务平均每秒请求量应用提供服务平均响应时间(毫秒)时,呈现此参数。当前系统默认按实时数据计算指标数据,勾选按均值计算指标数据后可按照均值计算,可有助于减少数据波动。按照均值计算的指标时间窗口,即用于均值计算的数据时间范围,参数范围为300~3600秒。
        3. 目标值:设置期望的监控指标目标值,系统会帮您自动扩缩实例数,无限接近您设置的目标值。
          说明 当应用监控指标的实际值小于目标值时,系统会自动帮您缩容实例。反之,系统会自动帮您扩容实例。
      方式根据需要选择触发器的运行方式:
      • 仅观测:观测触发器指标,当指标达到期望值时发送事件,不触发扩缩容动作。
      • 观测并扩缩:观测触发器指标,当指标达到期望值时发送事件,触发扩缩容动作。
      说明 当选择 应用平均CPU使用率应用平均内存使用率作为触发器指标时,目标值的0.9~1.1倍系统会认为是合理的波动,当实际值超过这个范围,才会触发弹性。
    6. 配置最大应用实例个数最小应用实例个数
      • 最大应用实例个数:可设置的范围为2~1000。触发弹性伸缩条件后,应用扩容,其实例数可达到最大值。
      • 最小应用实例个数:可设置的范围为0~1000。触发弹性伸缩条件后,应用缩容,其实例数可达到最小值。
      说明
      • 应用目标实例数=max(触发器1目标实例数,触发2目标实例数,...,触发器N目标实例数)
      • 当目标实例数大于当前实例数时,EDAS则对应用进行扩容,其应用实例数不超过所设的最大应用实例个数;反之,则进行缩容,其应用实例数不低于所设的最小应用实例个数
      • 最小应用实例个数不得等于最大应用实例个数
      • 建议当前实例数在您设置的最小应用实例个数最大应用实例个数范围内,如果不在范围内,保存弹性策略时会提示定时触发器保持实例数已超出最大最小实例数范围,但仍能保存。
    7. 可选:单击自定义弹性策略开关,启用弹性伸缩策略并配置扩容和缩容行为。
      • 冷却时间(s):根据需要设置冷却时间。单位为秒,范围为0~3600,扩容行为冷却时间默认为0秒,缩容行为冷却时间默认为300秒。
      • 扩容策略或缩容策略:在扩容行为区域单击添加扩容策略,或在缩容行为区域单击添加缩容策略,在弹出的对话框中,配置扩容或缩容策略,然后单击确定
        • 策略类型:根据需要选择副本个数或百分比作为策略类型。支持PodsPercent类型,Pods表示副本个数类型,Percent表示百分比类型。
        • 步长/百分比:根据选择的策略类型设置该参数值。例如,策略类型选择Pods,则此处值为Pod数量。
        • 时间周期(s):策略执行周期。例如,策略类型选择Percent步长/百分比设置为10,时间周期为60秒,则允许在一分钟内最多扩容或缩容当前副本个数的百分之十。

        单击同步至缩容策略同步至扩容策略,可以将配置的扩容或缩容策略同步至缩容或扩容策略。

      • 选择策略:支持MinMaxDisable三种策略。默认为Max
    8. 完成以上配置成后单击保存
    9. 在弹性策略页面右上角单击启用
      触发弹性策略后,如果EDAS依据所设策略对应用实例进行扩容或者缩容,表示自动弹性伸缩策略设置成功。

    来源

    自动弹性扩缩容
    什么是平行扩容?
    如何提升系统的并发能力之垂直扩展
    热备、冷备、温备

  • 相关阅读:
    [附源码]计算机毕业设计JAVAjsp医院药房管理系统
    2022年Web前端开发流程和学习路线(详尽版)
    VMware与CentOS8-stream的配置教程【2022-9-5】
    北方经贸杂志北方经贸杂志社北方经贸编辑部2022年第10期目录
    LeetCode:318. 最大单词长度乘积(C++)
    【Linux】进程状态详解
    惊艳!京东 T8 纯手码的 Redis 核心原理手册,基础与源码齐下
    VTK——使用包围盒切割医学图像
    提升网络速度的几种有效方法
    SylixOS UDP网络应用编程
  • 原文地址:https://blog.csdn.net/weixin_44231544/article/details/126779012