MySqL主从复制&读写分离

MySqL主从复制&读写分离

1. MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点。
2. MySQL 默认采用异步复制方式,这样从节点不用一直访问主服务器来更新自己的数据,数据的新可以在远程连接上进行,从节点可以复制主数据库中的所有数据库或者特定的数据库,或者特定的表。

1.主从复制主要用途:

读写分离:防止高并发
MySQL主从形式主要分为如下几种:
1. 一主一从
2. 一主多从,提高系统读性能
3. 多主一从(从5.7开始支持)
4. 双主复制
5. 级联复制
	

2、主从复制原理

MySQL主从复制涉及到三个线程,一个运行在主节点(log dump thread),其余两个(I/O thread, SQLthread)运行在从节点:/
/流程描述:
1. 当 客户端进行insert、update、delete操作时,master 节点会按顺序写入到二进制日志 binary log 中。
2. 只要有一个 salve 连接 master,master 就会创建一个 binary log dump thread。
3. 当 master 节点的 binary log 发生变化时, binary log dump thread 会通知所有salve节点,并将
相应的 binary log 内容推送给slave节点。
4. I/O thread 接收到 binary log 内容后,将内容写入到本地的 relay log 中。
5. SQL thread读取I/O thread 写入的 relay log,并且根据 relay log 的内容对从数据库做对应的操作。


`三个线程作用如下:`
1、主节点 binary log dump thread 作用
当从节点连接主节点时,主节点会创建一个log dump 线程,用于发送bin-log的内容。在读取bin-log中
的操作时,此线程会对主节点上的bin-log加锁,当读取完成发动给从节点之前,锁会被释放。
2、从节点I/O thread 作用
当从节点上执行start slave命令之后,从节点会创建一个I/O线程用来连接主节点,请求主库中更新的
bin-log。I/O线程接收到主节点binlog dump 进程发来的更新之后,保存在本地relay-log中。
3、从节点SQL thread 作用
SQL线程负责读取relay log中的内容,解析成具体的操作并执行,最终保证主从数据的一致性。

二、中间件框架:

1. Sharding-JDBC

1.是当当网,实现主从复制与读写分离的框架

2. `依赖`<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>sharding-jdbc-spring-boot-starter</artifactId>
<version>4.0.0-RC1</version>
</dependency>

3.配置yml

三、读写分离&分库分表:

读写分离&分库分表:都是为了解决高并发,大数据访问带来的问题
`分库`:主要解决的是并发量大的问题。通过增加数据库实例的方式来提供更多的可用数据库链接,从而提升系统的并发度
`分表`:主要解决的是数据量大的问题。通过将数据拆分到多张表中,来减少单表的数据量,从而提升查询速度
`既分库又分表`:当你的数据库链接也不够了,并且单表数据量也很大导致查询比较慢的时候,就需要做既分库又分表了

2.分库分表原理:

`1、水平拆分`
1. 同一个表的数据拆到不同的库不同的表中。可以根据时间、地区或某个业务键维度,也可以通过hash进行拆分,最后通过路由访问到具体的数据。
2. 拆分后的每个表结构保持一致
`2、垂直拆分`
1. 就是把一个有很多字段的表给拆分成多个表,或者是多个库上去。
2. 每个库表的结构都不一样,每个库表都包含部分字段。
3. 一般来说,可以根据业务维度进行拆分,如订单表可以拆分为订单、订单支持、订单地址、订单商品、订单扩展等表;
4. 也可以根据数据冷热程度拆分,20%的热点字段拆到一个表,80%的冷字段拆到另外一个表

3.步骤:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值