当前位置:网站首页>复制延迟案例(3)-单调读
复制延迟案例(3)-单调读
2022-07-31 15:27:00 【华为云】
前面异步复制读异常的第二个案例,出现用户数据向后回滚的怪状。
若用户从不同【从节点】多次读取,就可能这样。如图-4显示用户2345两次进行相同查询:
- 首先查询延迟很小的从节点
- 然后是延迟较大的从节点
若用户刷新网页,而每个请求被路由到一个随机的服务器,这种情况是很有可能的。
第一个查询返回最近由用户1234添加的评论,但第二个查询不返回任何东西,因为滞后的从节点还没有拉取写入的内容。效果上相比第一个查询,第二个查询是在更早的时间点来观察系统。
- 若第一个查询未返回任何内容,则问题不大,因为用户2345可能不知道用户1234最近添加了评论
- 但若用户2345先看见用户1234的评论,然后又看到它消失,则对用户2345,就会感觉头大

单调读保证这种异常不会发生。这是比强一致性(strong consistency)弱,但比最终一致性强的保证。当读取数据时,可能会看到一个旧值;单调读取仅意味着若一个用户顺序多次读取,则不会看到时间后退,即若先前读取到较新的数据,后续读取不会得到更旧数据。
实现单调读取的一种方案:确保每个用户总从同一副本读取(不同用户可读不同副本)。如基于用户ID散列选择副本,而非随机选择副本。但若该副本失败,用户的查询将需重新路由到另一个副本。
边栏推荐
- Ubantu专题4:xshell、xftp连接接虚拟机以及设置xshell复制粘贴快捷键
- 删除表格数据或清空表格
- [MySQL] Mysql paradigm and the role of foreign keys
- R语言ggstatsplot包ggbarstats函数可视化条形图、并添加假设检验结果(包含样本数、统计量、效应大小及其置信区间、显著性、组间两两比较、贝叶斯假设)、检验结果报告符合APA标准
- TRACE32 - Common Operations
- Grafana安装后web打开报错
- R language ggplot2 visualization: use the ggmapplot function of the ggpubr package to visualize the MA plot (MA-plot), the font.legend parameter and the font.main parameter to set the title and legend
- Emmet 语法
- The use of border controls
- ASP.NET Core generates continuous Guid
猜你喜欢
随机推荐
【CUDA学习笔记】初识CUDA
四象限时间管理有多好用?
数据表插入数据insert into
Efficient use of RecyclerView Section 2
C语言”三子棋“升级版(模式选择+AI下棋)
Internet banking stolen?This article tells you how to use online banking safely
WPF项目--控件入门基础用法,必知必会XAML
Why is the field of hacking almost filled with boys?
Excel quickly aligns the middle name of the table (two-word name and three-word name alignment)
Vb how to connect mysql_vb how to connect to the database collection "advice"
为什么毕业季不要表白?
Getting Started with TextBlock Control Basic Tools Usage, Get Started
TRACE32——C源码关联
Female service community product design
R语言ggplot2可视化:使用ggpubr包的ggboxplot函数可视化箱图、使用font函数自定义图例标题文本(legend.title)字体的大小、颜色、样式(粗体、斜体)
Codeforces Round #796 (Div. 2)(A-D)
01 邂逅typescript,环境搭建
STM32(十)------- SPI通信
Snake Project (Simple)
[MySQL] Mysql paradigm and the role of foreign keys








