请教各位大拿一个问题,我们现在有一套业务,国内,国外都在进行,数据该如何部署,如何保证数据得一致性? 想实现国内得人访问得国内数据库,国外访问国外数据库,并且保证数据得一致性
1
Jrue0011 2021-02-24 11:14:34 +08:00
记得之前看过微信好像有大概介绍过他们的做法
https://mp.weixin.qq.com/s?__biz=MzI5MDAwOTIzOQ==&mid=402045684&idx=1&sn=5690281c941cd8eb203b6980cdae73ce [走出国门]那部分,不知道对你们有没有用 |
2
yijihu 2021-02-24 11:15:30 +08:00
如果需要简单方便,就上阿里云的 rds 和 dts,自己做比较麻烦
|
3
joesonw 2021-02-24 11:16:17 +08:00
cockroachdb 可以 cross region replication
|
4
Mzs 2021-02-24 12:09:19 +08:00
国内国外 2 个库的数据一致性指的是什么?同步吗?
国内往国外可以 国外往国内不行 国外有些国家有法律规定,数据不能回国 |
6
Jacky23333 2021-02-24 12:26:44 +08:00 via Android
海外数据回流内地小心吃官司,之前 UC 在印度的日志数据脱敏后拿回国内分析,被下架 3 个月整改
|
7
xuanbg 2021-02-24 13:18:12 +08:00
一套数据,应用加速
|
8
killergun 2021-02-24 13:23:49 +08:00
感觉这个跟多机房有点类似。多数据库之间同步,但是肯定会有延迟。但是人不可能瞬间从国内跑到国外。基本上感觉不到延迟
|
9
BiteTheDust 2021-02-24 13:38:24 +08:00
一致性也分为很多种吧 写后读 单调读 前缀一致读 之类的
然后找找对应有支持的数据库? |
10
THESDZ 2021-02-24 13:42:54 +08:00
根据你描述的场景`国内得人访问得国内数据库,国外访问国外数据库`
既然已经实现了应用层的分离 那么数据一致性真的是个强需求吗? 直接分表分库就好了,数据的话,直接通过应用服务拿. |
11
luvsic 2021-02-24 13:51:27 +08:00
微信不是说不存储消息吗?文章怎么打脸呢😄
|
12
yfwl 2021-02-24 14:27:31 +08:00
拿一个负责读写,然后其他的只负责读,写就只从一个数据库写就可以保证数据完整一致,如果没有那么强的时效性,比如发的消息,延迟几秒发送,那么可以做队列,也行可以的,如果对数据有较强的时效性,比如注册账号这种,就只能从一个数据库写,然后再同步到其他数据库!
|
13
54xavier 2021-02-24 15:09:52 +08:00
@killergun 呃, [人不可能瞬间从国内跑到国外] ,我只想说物理上的确做不到,但是如果科学上网全局代理,人是可以做到瞬间切换多地 ip 的。
|
14
guichina 2021-02-25 09:01:19 +08:00
数据库双主同步
|