问题描述
- 关于读写分离、数据同步的问题
-
简单了解了一下读写分离的实现机制和具体操作,但是还有部分不是特别明白。
假设现在我有两台服务器,一台线上正式使用,另一台用于作为备用服务器,但是数据和第一台服务器是同步的。现在为了能充分利用其两台机子,做了读写的分离。把查询的所有业务都丢给第二台服务器,而写入、删除、修改等操作都交给第一台服务器。这是我简单理解的读写分离的机制。
不知道这样对不对。那么 如果我这样理解的话,我发现是有问题的。
如果原来的备用服务器是用来做为提供查询的用的,而原来的正式服务器做了其他的操作的话,那我现在一条数据进行修改了,那么也是应该同步到了第二台机器上面,这样也是一个写入的操作,那么这样设计还有意义吗?或者说是我理解错误了?
解决方案
是这样的,读写分离是指,如果用户执行的sql不修改数据,比如select,那么从任意节点返回数据
如果是修改数据的(update delete insert),那么需要做同步。
在某些场合,查询要比修改的数量多很多(比如微博,浏览的人很多,发布微博的人很少,或者大多时候,人们以浏览为主),那么性能就会有很大的提高。如果写入的数量大,查询的数量小,的确你说的,没有太大的意义。
解决方案二:
数据读写分离
Mysql数据库读写分离数据同步
----------------------
时间: 2024-10-21 12:08:35