Raccoon886 2023-09-20 10:46 采纳率: 0%
浏览 4

(标签-MySQL|关键词-高可用)

某互联网公司由于历史的原因采用MySQL数据库来实现数据存储,架构也仅限于双机热备份来实现系统冗余备份。近几年由于业务的不断扩展,传统的架构远远不能满足当下业务的需求,公司决定对系统及架构进行升级,要求如下:
1、系统继续使用MySQL数据库;
2、实现数据库的分库、分表和读写分离;
3、实现分片集群(可以引入数据库中间件,如:Mycat等)。
请你根据以上的需求从系统数据库架构方面进行重新设计,来实现系统“三高”(高并发、高性能、高可用)架构的目标,你要完成的工作如下:
1、画出系统架构图;
2、说出系统工作流程及各类服务器的作用;
3、说明系统采用哪个数据库中间件?并说明其作用及工作原理。

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2023-09-20 12:28
    关注

    引用 皆我百晓生 小程序回复内容作答:
    系统架构图如下:

            +-----------------+
            |     MySQL主库    |
            +-----------------+
                    |
                    V
                +---------+
                | 数据库中间件 |
                +---------+
                    |
         +-------------------------+
         |                         |
     +-----+                  +-----+
     |MySQL|                  |MySQL|
     |从库1  |                  |从库n  |
     +-----+                  +-----+
    

    系统工作流程及各类服务器的作用:
    1、客户端将请求发送至数据库中间件。
    2、数据库中间件负责对请求进行解析和路由,并将读请求转发给从库,写请求转发给主库。
    3、从库对读请求进行处理并返回结果给数据库中间件,数据库中间件将结果返回给客户端。
    4、主库对写请求进行处理,并将更新结果同步到从库。
    5、从库作为备份数据库,用于实现高可用性。

    系统采用的数据库中间件是Mycat。其作用是在MySQL数据库集群的上层引入一个中间层,对外表现为一个独立的数据库服务器,对内则转发请求给底层的MySQL数据库集群。Mycat通过分片算法将数据分散在不同的MySQL实例上,实现了数据库的分库分表,同时通过读写分离功能将读请求分发给从库,写请求发送至主库。Mycat还提供了负载均衡、故障转移和自动切换等功能,实现了数据库的高可用性。

    评论

报告相同问题?

问题事件

  • 创建了问题 9月20日