十丿四 2015-09-04 17:47 采纳率: 100%
浏览 4182
已采纳

关于读写分离、数据同步的问题

简单了解了一下读写分离的实现机制和具体操作,但是还有部分不是特别明白。
假设现在我有两台服务器,一台线上正式使用,另一台用于作为备用服务器,但是数据和第一台服务器是同步的。现在为了能充分利用其两台机子,做了读写的分离。把查询的所有业务都丢给第二台服务器,而写入、删除、修改等操作都交给第一台服务器。这是我简单理解的读写分离的机制。
不知道这样对不对。

那么 如果我这样理解的话,我发现是有问题的。
如果原来的备用服务器是用来做为提供查询的用的,而原来的正式服务器做了其他的操作的话,那我现在一条数据进行修改了,那么也是应该同步到了第二台机器上面,这样也是一个写入的操作,那么这样设计还有意义吗?

或者说是我理解错误了?

  • 写回答

1条回答 默认 最新

  • threenewbee 2015-09-04 18:26
    关注

    是这样的,读写分离是指,如果用户执行的sql不修改数据,比如select,那么从任意节点返回数据
    如果是修改数据的(update delete insert),那么需要做同步。
    在某些场合,查询要比修改的数量多很多(比如微博,浏览的人很多,发布微博的人很少,或者大多时候,人们以浏览为主),那么性能就会有很大的提高。如果写入的数量大,查询的数量小,的确你说的,没有太大的意义。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器