mysql 这个延迟问题 有解决方案或者尽量降低发生的办法吗?

有人 发布于 2016/04/28 16:05
阅读 382
收藏 0

现在有一个 一主多从的构架 一个从服务器的程序拿到一些数据 尽快的标记已读取 但是其他从服务器的程序还是有拿到那些标记的数据 每个从服务器拿取数据都不的不比较快 这个问题有什么好的办法吗

从服务器都在获取数据去处理 但是不允许二次处理 
现在一个从拿到之后 尽快的去标记我拿走了 

但是其他的从 还是会发生拿走那些不应该获取的数据


特别容易发生在 需要处理的数据比较少的时段.

加载中
0
vvtf
vvtf

主处理,

单一从处理

0
梦想岛
梦想岛
我之前有做过主从,就是如果用户有写入数据的时候,就让用户在10秒内都是读取主表的数据,之后如果都是只读的话,就是读slave库。
0
ihuotui
ihuotui
肯定会有延时的。理论上。
0
hzh62
hzh62

升级到 mysql 5.7

配置,每个表一个同步线程,基本能实现完全无延时同步(秒级内)

0
Playguys
Playguys

主从同步肯定会存在延迟,可以在程序上做主从同步方案,可以通过 springjdbc的动态数据源配合注解来标识那些方法走主库,那些走从库;响应要求高的直接走主库就可以解决延时问题。

0
魔力猫
魔力猫
并行改串行。客户端发起一个获取请求后,放入一个请求队列,服务器从队列拿到请求后自己先在主服把状态改了,然后从从服拿数据发给客户端。
0
codygao
codygao
从系统上讲,主从延迟要么网络问题,要么是服务器压力比较大,要分析是读写问题了,对主从库根据业务做纵向拆分,比如用户库、订单库、其他非核心库,另外排查下从库上的读操作是不是都有效使用了索引,从库压力也会造成主从延迟。从程序上讲的话,可以使用缓存,写主库成功后,设置缓存比如1分钟,所有读都走到缓存里,这样能避免主从延迟数据读取不一致的问题。
0
Tuesday
Tuesday

引用来自“魔力猫”的评论

并行改串行。客户端发起一个获取请求后,放入一个请求队列,服务器从队列拿到请求后自己先在主服把状态改了,然后从从服拿数据发给客户端。

你这是一个坑还不够. 

再加一个队列主从... 好像队列主从就不没有延迟一样. 

0
朱宏青
朱宏青

主从必定有延迟 只能尽量缩减延迟的时间(同机房一条线 及时同步等)

这是无法避免的

鉴于需求特殊 可以考虑该业务强制读去主库

0
月影又无痕
月影又无痕

如果对数据有强一致要求,则不能读从库,要强制读主库。

主从同步,因各种原因,真是有可能延迟或是中断的。

返回顶部
顶部