某互联网公司由于历史的原因采用MySQL数据库来实现数据存储,架构也仅限于双机热备份来实现系统冗余备份。近几年由于业务的不断扩展,传统的架构远远不能满足当下业务的需求,公司决定对系统及架构进行升级,要求如下:
1、系统继续使用MySQL数据库;
2、实现数据库的分库、分表和读写分离;
3、实现分片集群(可以引入数据库中间件,如:Mycat等)。
请你根据以上的需求从系统数据库架构方面进行重新设计,来实现系统“三高”(高并发、高性能、高可用)架构的目标,你要完成的工作如下:
1、画出系统架构图;
2、说出系统工作流程及各类服务器的作用;
3、说明系统采用哪个数据库中间件?并说明其作用及工作原理。
(标签-MySQL|关键词-高可用)
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
关注引用 皆我百晓生 小程序回复内容作答:
系统架构图如下:+-----------------+ | MySQL主库 | +-----------------+ | V +---------+ | 数据库中间件 | +---------+ | +-------------------------+ | | +-----+ +-----+ |MySQL| |MySQL| |从库1 | |从库n | +-----+ +-----+系统工作流程及各类服务器的作用:
1、客户端将请求发送至数据库中间件。
2、数据库中间件负责对请求进行解析和路由,并将读请求转发给从库,写请求转发给主库。
3、从库对读请求进行处理并返回结果给数据库中间件,数据库中间件将结果返回给客户端。
4、主库对写请求进行处理,并将更新结果同步到从库。
5、从库作为备份数据库,用于实现高可用性。系统采用的数据库中间件是Mycat。其作用是在MySQL数据库集群的上层引入一个中间层,对外表现为一个独立的数据库服务器,对内则转发请求给底层的MySQL数据库集群。Mycat通过分片算法将数据分散在不同的MySQL实例上,实现了数据库的分库分表,同时通过读写分离功能将读请求分发给从库,写请求发送至主库。Mycat还提供了负载均衡、故障转移和自动切换等功能,实现了数据库的高可用性。
解决 无用评论 打赏 举报