部署 数据库异地提速?

jean · 2012年03月30日 · 最后由 xds2000 回复于 2012年11月05日 · 4388 次阅读

哈喽各位,具体情形是这样:站点和用户数据库(使用 MYSQL)都存放在国外,随着业务的发展在国内也有的很多的客户,这就出现了问题,国内的用户使用起来体验非常差,因为速度太慢了。这种情况下有什么解决的良策么?

我已知的两种方案不太靠谱 1.MYSQL 主从,如果单纯读取的话不错,但实际上用户对增改都有需求。 2.MYSQL 互为主从,太危险,以大陆的网络状况,数据的一致性有很大的隐患。 主:国外数据库 从:国内数据库

问题描述完毕,插个花边新闻,gmail 就很牛逼,他在北京的节点(203.208.46.181)访问起来速度飕飕的,而实际上它应该没有把用户数据放在国内吧。

站点和用户数据库迁移到国内不就 ok 拉。你国内用户多么。

#1 楼 @xds2000 那国外用户不就慢了么?国内用户不少

我也想知道

master vs master 模式总可以吧。 http://mysql-mmm.org/

夸机房的数据库到数据同步靠谱嘛?我怎么觉得数据库这种IO Critical的东西,最好都在一个机房内,最好在一个机架上。

这个问题我能想到的也是把服务器放到香港,台湾,日本这样的国内/国外访问速度都能兼顾的地方。

另一个方案:实施步奏 1、国外是 master,slave 配上。 2、国内 slave 配上。 3、配一个 mysql proxy,把读的操作路由到国内 slave,可以使用 vitess - Scaling MySQL databases for the web, http://code.google.com/p/vitess/ 4、写操作路由到国外 masterDB。 5、前端 CDN 放到国内。

#6 楼 @lgn21st 香港台湾国际出口小的可怜,日本倒是不错,但不知道日本 - 美国,是不是也有大陆类似的网络抽风现象,时快时慢?我监控一个月试试

#7 楼 @xds2000 mysql 官方文档写着 mysql proxy 不适合线上环境的,mysql mmm 架构比较简陋,如果真的要考虑的话建议可以看下 MHA。http://code.google.com/p/mysql-master-ha/

@zhuf Master/Slave架构确实经典,加上这个MHA工具确实给力.谢谢提醒。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号