前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MyCat03——读写分离机制

MyCat03——读写分离机制

原创
作者头像
用户8100582
发布2023-11-21 23:05:11
2910
发布2023-11-21 23:05:11
举报
文章被收录于专栏:Java多线程Java多线程

1 读写分离

1.1 什么是读写分离?

将数据库的查询和其他需要使数据库数据发生变化的操作进行分开的操作。

基本的原理

让主数据库处理事务性的插入、修改、删除操作;

让从数据库处理查询操作。

1.2 为什么要做读写分离?

在数据库中数据极速增长的情况下,数据库的瓶颈不在于存储,而是计算,即查询。数据量越大,查询的效率越低,对于越复杂的查询语句,其消耗服务器的资源越强,有时甚至不输于死循环。

2 读写分离的方案

MyCat的读写分离是建立在MySQL主从复制的基础之上实现的,所以必须先搭建MySQL的主从复制环境,实现主从复制。

数据库的读写分离对于大型系统或者访问量很高的互联网来说,是必不可少的一个重要功能。

3 MySQL主从复制的常用拓扑结构

3.1 一主一从

最基础的复制结构,用来分担之前单台数据库服务器的压力,可以进行读写分离。

3.2 一主多从

当一台从库承受不了查询请求的压力时,可以添加多台从机,进行负载均衡,进一步分散数据库的压力。

3.3 双主复制

对于一主一从、一主多从来说,Master 节点只有一个,存在单点故障的隐患,如果 Master 节点出现问题时,将导致整个集群不可用。

采用了双主复制后,两个节点互相将对方作为自己的 Master,同时自己又作为对方的 Slave 来进行复制,可以确保一个节点故障时,整个集群还能正常对外服务。

3.4 级联复制

级联结构是通过减少直接从属于 Master 节点的 Slave 节点数量,在 Slave 节点下继续挂载 Slave 节点,从而减轻 Master 节点的压力,分散复制请求,提高整个集群整体的复制效率。

3.5 双主级联

为了解决一主多从时,单点故障带来的隐患,将双主复制和一主多从进行了整合。

从这里也能看出来,MySQL 的复制结构有很多种方式,复制的最大问题是数据延时,选择何种复制结构,需要根据项目使用的具体情况,从目标结构的延时给系统带来的影响进行评估,从而得出一种适合项目的最佳拓扑结构。

我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 读写分离
    • 1.1 什么是读写分离?
      • 1.2 为什么要做读写分离?
      • 2 读写分离的方案
      • 3 MySQL主从复制的常用拓扑结构
        • 3.1 一主一从
          • 3.2 一主多从
            • 3.3 双主复制
              • 3.4 级联复制
                • 3.5 双主级联
                相关产品与服务
                云数据库 MySQL
                腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档