• 两种常见的mysql集群架构


    常见的mysql集群架构

    根据业务发展阶段和业务代码部署情况不同,对于扩展单数据库可以使用以下几种部署架构模型

    单地域高可用架构

    • 单地域高可用架构的构成
    1. dbproxy数据库代理: 主要处理:读写分离,主从切换等。
    2. 主库(高可用):处理业务写流量。
    3. 从库(多实例,可选高可用):处理业务读流量。
    • 单地域高可用的架构可以处理
    1. 业务流量在单地域的的业务结构
    2. 可用性:可以处理:dbproxy主备切换(proxy失败),主库主备切换(主库失败),添加从库(读流量扩容)
    • 单地域高可用架构不能处理
    1. 本地域机房失效。
    • 单地域架构需要关注的指标
    1. 地域服务器报警
    2. 写流量报警(通过主库主备切换恢复)
    3. 读流量报警(通过新增从库扩容)
    4. binlog延迟报警
    • 说明

    现实中这种架构的服务器比较少,一般为了稳定性,会把业务代码进行多地域部署,这样下面这种架构数据库就更加适应这种多地域业务部署的情况。

    多地域高可用架构

    • 多地域高可用架构的构成
    1. dbproxy数据库代理: 主要处理读写分离,主从切换,地域切主。
    2. 地域主库,负责本地域内的主从复制。
    3. 真实主库,负责整个业务的写流量。
    4. 地域从库,负责本地域的数据库读流量。
    5. LVS,隐藏dbproxy主备细节,因为mysql访问者一般是业务代码。因此这里的LVS是内网负载均衡.
    • 多地域高可用架构可以处理
    1. 单地域服务器报警。
    2. 业务流量在多地的业务。
    3. 可用性:dbproxy主备切换,主库主备切换,主库地域切换,添加从库,添加地域。
    • 多地域高可用架构需要关注
    1. 地域服务器报警
    2. 写流量报警(通过主库主备切换恢复)
    3. 读流量报警(通过新增从库扩容)
    4. binlog延迟报警
    5. 地域级服务可用性报警。
    • 说明

    这种架构主要处理单库多地域扩展性的问题。很明显这种架构因为写流量集中在主库,这里会成为瓶颈,可能需要分库做进一步的扩展。

    by:zhangfeng

  • 相关阅读:
    namespaces in C++
    cout如何刷新缓冲区
    Journey CodeForces 1336F[data structures divide and conquer graphs trees]
    using ll=long long;
    Kaavi and Magic Spell CodeForces 1337E【dp strings】
    摸个🐟
    gcc的几个有用的处理二进制位的内置函数
    Yui and Mahjong Set CodeForces 1337F 【interactive】交互式题
    C++ auto 的使用
    2005年微软十大安全漏洞 java程序员
  • 原文地址:https://www.cnblogs.com/widgetbox/p/12617554.html
Copyright © 2020-2023  润新知