服务器-关于读写分离、数据同步的问题

问题描述

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

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

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

或者说是我理解错误了?

解决方案

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

解决方案二:

数据读写分离
Mysql数据库读写分离数据同步
----------------------

时间: 2024-10-21 12:08:35

服务器-关于读写分离、数据同步的问题的相关文章

Mysql服务器的主辅数据同步

Mysql服务器的主辅数据同步 例题:将A服务器作为主服务器(Master),B1和B2为辅服务器(Slave), 怎么来将主服务器的数据同步到辅服务器呢,下面我们来看. Master: 修改配置文件:/etc/my.cnf [root@localhost ~]# vim /etc/my.cnf [mysqld] log-bin=binlog log-bin-index=binlog.index sync_binlog=0 server_id = 1 重启mysql:  www.bitsCN.c

mysql数据库数据同步/主从复制的配置方法

如果有多台mysql数据库服务器需要需要做数据同步,或者读写分离的时候.就需要做一个数据库的主从复制,操作起来也比较简单. 如下: 主服务器x.x.x.233 从服务器x.x.x.234 首先需要在主数据库配置一下my.cnf 开启binlog增加serverid server-id                       = 1 log-bin                        = bin-log 重启服务后生效 登陆数据库 1 #mysql -uroot -p 创建一个用户台

MaxScale:实现MySQL读写分离与负载均衡的中间件利器

  1 MaxScale 是干什么的?  配置好了MySQL的主从复制结构后,我们希望实现读写分离,把读操作分散到从服务器中,并且对多个从服务器能实现负载均衡.   读写分离和负载均衡是MySQL集群的基础需求,MaxScale 就可以帮着我们方便的实现这些功能.       2 MaxScale 的基础构成  MaxScale 是MySQL的兄弟公司 MariaDB 开发的,现在已经发展得非常成熟.MaxScale 是插件式结构,允许用户开发适合自己的插件.   MaxScale 目前提供的插

国内外数据同步

问题描述 各位大哥好!公司要弄一个系统,国内外客户群不同,功能和界面等差异很大,基本上感觉就是两个不同的系统,现在想把国外的数据同步到国内来只是其中部分的数据是共享的.考虑到访问速度等问题,会在国内和国外各架设一台服务器,请问这个东西如何架设好一些,其中的数据同步,比如数据库,图片等如何实现同步,需要哪些技术!如何搞啊,拜求! 解决方案 解决方案二:vpnwebserviceftp解决方案三:问题相当高深解决方案四:如何搞啊,拜求!我感觉这问题问得很搞笑!至少我就没能理解下面的问题:1:数据是以

云服务器 ECS 配置:利用MySQL读写分离,提升应用数据吞吐性能

利用MySQL读写分离,提升应用数据吞吐性能 背景 一般情况下,对数据库的读和写都在同一个数据库服务器中操作时,业务系统性能会降低.为了提升业务系统性能,优化用户体验,可以通过读写分离来减轻主数据库的负载.本篇文章分别从应用层和系统层来介绍读写分离的实现方法. 应用层实现方法: 应用层中直接使用代码实现,在进入Service之前,使用AOP来做出判断,是使用写库还是读库,判断依据可以根据方法名判断,比如说以query.find.get等开头的就走读库,其他的走写库. 优点: 1.多数据源切换方便

多台web服务器如何数据同步

问题描述 RT,好比国内的大型网站淘宝.百度.腾讯.新浪等大网站肯定在全国各个地区都有服务器,那他们的每个服务器数据是如何做到同步的?具体步骤是怎么样的?还有不同地区访问不同机房的服务器,比如江浙沪一带访问百度的话是访问上海的服务器,京津翼用户访问的是北京的服务器,这个也是怎么实现的?最好有具体的实现方法哦!希望各位大哥大姐能指点一二,小弟不胜感激! 解决方案 解决方案二:同步就是在每个服务器插入数据就行了啊(因为他有多个副本,所以每个服务器做相同的操作就行了)不同区域访问不同服务器是这样做的,

redis作为mysql的缓存服务器(读写分离) (转)

一.redis简介Redis是一个key-value存储系统.和Memcached类似,为了保证效率,数据都是缓存在内存中.区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步.在部分场合可以对关系数据库起到很好的补充作用.它提供了Java,C/C++(hiredis),C#,PHP,JavaScript,Perl,Object-C,Python,Ruby等客户端,使用很方便. 二.架构图<ignore_js_

MySQL主从同步读写分离的集群配置

大型网站为了解决大量的高并发访问问题,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器支持,如此多的数据库连接操作,服务器性能再好数据库必然会崩溃.数据丢失的话,后果更是不堪设想.这时候,我们会考虑如何减少数据库的连接,一方面采用优秀的代码框架,进行代码的优化,采用优秀的数据缓存技术如:memcached等.如果资金充足的话,必然会想到假设服务器集群,来分担主数据库的压力.或者在硬件设备上,投入大量资金,购买高性能的服务器.出名

MySQL5.6 实现主从复制,读写分离,分散单台服务器压力

原文:MySQL5.6 实现主从复制,读写分离,分散单台服务器压力 闲来无事,在本地搭建几台虚拟机,准备配一个mysql读写分离的主从配置,版本选用最新版的,mysql.5.6.28 版本,本处使用源码安装(鄙人一向喜欢源码安装,因为centos中鄙人不知道yum安装怎么指定安装目录,还有怎么指定各种配置,不过有些依赖的库之类的反正鄙人不直接用,使用源码安装到时还得指定安装目录,而且有时各种不匹配也是醉了) 安装环境:Centos 6.4 Mysql版本: 主从都使用MySQL5.6.28 机器