多地mysql 相互同步问题

JJ___JJ 2014-02-11 12:53:44
各位大大新年好,小弟最近整一个项目, 有点做成类似的垂直搜索, 逻辑简单, 根据某个主键id或者索引搜索即可.
目前遇到2个问题:
一. 服务器用到是日本的aws, 但是目前想弄成多地的服务器, 打算在俄罗斯, 日本, 巴西等各放一个服务器, 需要同步的数据主要是会员表, 比如有用户在俄罗斯注册了, 如何同步到其他的两个服务器上呢, 普通的主从同步貌似延迟太大, 两地几乎同时注册会导致主键id冲突, 不知道各位有什么好的解决方案推荐呢,

二, 有张5k万的表(16G), 目前搜索都是根据某个主键id或者索引搜索, 在本地测试过7kw数据, 速度保持在0.3秒左右. 最大的问题是数据的更新, 几天就要更新一次, 而且是全表更新(除了表里的两个计数器字段), 之前的做法是, 导出来, 用程序把sql修改成insert 多条 on dumplcate update的方式, 然后打包上传至服务器,在用程序导入.这样的风险是偶尔会导致mysql导入过快,导致目前的主从数据库同步出现问题(卡死).
目前能想到的方案是,
a, 把表里的两个字段为计数器拿出来,做成另外的一张表, 然后原来的大表就成了只读表A, 导入的时候, 直接insert到一个新的表B, 导入完成后,sql直接切换表名, 让新表B代替A表.然后旧表就可以干掉了.

b, 把表里的两个字段为计数器拿出来,做成另外的一张表, 本地与线上的mysql安装同一个版本, 然后直接本地打包mysql的数据文件(MYD, MYI, TRG, frm等),在服务器的mysql的数据目录下解压(mysql不停止的情况下), 最后类似于a方法那样切换表名. 不知道改方法可行不 (此方法本人大胆YY出来的, 大大轻拍啊.)

小弟入行很浅, mysql按着教程配个主从还可以, 遇到这种真心不知道有什么好的解决方案, 希望各位大大不吝赐教啊.
...全文
169 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
JJ___JJ 2014-02-12
  • 打赏
  • 举报
回复
额,建议神马的有木有
JJ___JJ 2014-02-12
  • 打赏
  • 举报
回复
引用 3 楼 rucypli 的回复:
各地的会员数据为什么需要统一放一起 不能各放各的?
有想过这个方案 但感觉始终不是很好, 据我的理解, 这个方案, 需要根据会员的IP判断地理位置, 再重定向到最近的服务器的域名, 而且, 肯定是二级域名吧. 数据不统一, 一旦到另外台服务器登录, 就登录不了了, 不知道有项目会这样做么, 我接触教少, 望多多指教.
rucypli 2014-02-12
  • 打赏
  • 举报
回复
各地的会员数据为什么需要统一放一起 不能各放各的?
JJ___JJ 2014-02-11
  • 打赏
  • 举报
回复
自己顶, 求版主大大们帮帮忙~~`

56,675

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧