MySQL 数据库架构升级:实现高并发、高性能、高可用
MySQL 数据库架构升级:实现高并发、高性能、高可用
由于历史原因,某互联网公司采用 MySQL 数据库来实现数据存储,架构也仅限于双机热备份来实现系统冗余备份。近几年由于业务的不断扩展,传统的架构远远不能满足当下业务的需求,公司决定对系统及架构进行升级,要求如下:
- 系统继续使用 MySQL 数据库;
- 实现数据库的分库、分表和读写分离;
- 实现分片集群(可以引入数据库中间件,如:Mycat 等)。
1. 系统架构图
+-------------------+
| Load Balancer |
+-------------------+
|
|
|
|
|
|
+-------------------+
| Database Proxy |
+-------------------+
|
|
|
|
+-------------------+
| Database |
+-------------------+
2. 系统工作流程及各类服务器的作用
- 用户发送请求到系统的 Load Balancer,负责请求的分发和负载均衡;
- Load Balancer 将请求转发给 Database Proxy,负责请求的转发和数据库的读写分离;
- Database Proxy 根据请求的类型,将读请求转发给可用的数据库服务器,将写请求转发给主库;
- 数据库服务器负责具体的数据存储和查询。
3. 数据库中间件 - Mycat
系统采用的数据库中间件是 Mycat。Mycat 是一个开源的数据库中间件,可以实现数据库的分库、分表和读写分离,同时支持分片集群。它的作用是在数据库和应用程序之间,提供了一个透明的访问层,使得应用程序可以像访问单一数据库一样,将数据库访问请求发送给 Mycat,然后由 Mycat 根据配置的规则将请求路由到对应的数据库节点。Mycat 的工作原理是通过拦截应用程序对数据库的访问请求,解析 SQL 语句,根据配置的规则进行路由,然后将请求转发给对应的数据库节点。
原文地址: https://www.cveoy.top/t/topic/fvPr 著作权归作者所有。请勿转载和采集!