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