1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-16 18:10:13 +08:00

Merge pull request #1407 from anaer/patch-46

Update 读写分离&分库分表.md
This commit is contained in:
Guide哥 2021-09-22 21:19:09 +08:00 committed by GitHub
commit 111c224357
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -54,7 +54,7 @@ hintManager.setMasterRouteOnly();
不论是使用哪一种读写分离具体的实现方案,想要实现读写分离一般包含如下几步:
1. 部署多台数据库,选择一种的一台作为主数据库,其他的一台或者多台作为从数据库。
1. 部署多台数据库,选择其中的一台作为主数据库,其他的一台或者多台作为从数据库。
2. 保证主数据库和从数据库之间的数据是实时同步的,这个过程也就是我们常说的**主从复制**。
3. 系统将写请求交给主数据库处理,读请求交给从数据库处理。
@ -187,4 +187,4 @@ ShardingSphere 绝对可以说是当前分库分表的首选ShardingSphere
- 在迁移过程,双写只会让被更新操作过的老库中的数据同步到新库,我们还需要自己写脚本将老库中的数据和新库的数据做比对。如果新库中没有,那咱们就把数据插入到新库。如果新库有,旧库没有,就把新库对应的数据删除(冗余数据清理)。
- 重复上一步的操作,直到老库和新库的数据一致为止。
想要在项目中实施双写还是比较麻烦的,很容易会出现问题。我们可以借助上面提到的数据库同步工具 Canal 做增量数据迁移(还是依赖 binlog开发和维护成本较低
想要在项目中实施双写还是比较麻烦的,很容易会出现问题。我们可以借助上面提到的数据库同步工具 Canal 做增量数据迁移(还是依赖 binlog开发和维护成本较低