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

单调读保证这种异常不会发生。这是比强一致性(strong consistency)弱,但比最终一致性强的保证。当读取数据时,可能会看到一个旧值;单调读取仅意味着若一个用户顺序多次读取,则不会看到时间后退,即若先前读取到较新的数据,后续读取不会得到更旧数据。
实现单调读取的一种方案:确保每个用户总从同一副本读取(不同用户可读不同副本)。如基于用户ID散列选择副本,而非随机选择副本。但若该副本失败,用户的查询将需重新路由到另一个副本。
边栏推荐
- QT+OPENCV+FFTW内存问题
- offset、client 和 scroll
- flask简单接口实现
- SCI writing strategy - with common English writing sentence patterns
- Django、Rest framework访问数据库获取数据
- 科研笔记(六) 基于环境感知的室内路径规划方法
- Deep Blue Academy - Fourteen Lectures of Visual SLAM - Chapter 4 Homework
- MySQL5.7的安装编译及报错的解决方法
- shell脚本的基础知识
- Location、navigator和History对象
猜你喜欢

深蓝学院-手写VIO作业-第一章

无主复制系统(1)-节点故障时写DB

剩余参数、数组对象的方法和字符串扩展的方法

jetracer_pro_2GB AI Kit系统安装使用说明

对周期内时间段是否重叠进行校验

ffmpeg视频播放、格式转化、缩放等命令

吴恩达机器学习系列课程笔记——第九章:神经网络的学习(Neural Networks: Learning)

Jetson Nano 2GB Developer Kit 安装说明

Andrew Ng's Machine Learning Series Course Notes - Chapter 18: Application Example: Image Text Recognition (Application Example: Photo OCR)

【学习笔记】如何打造运维组织架构
随机推荐
JVM机制
科研笔记(八) 深度学习及其在 WiFi 人体感知中的应用(上)
树莓派4B开机自动挂载移动硬盘,以及遇到the root account is locked问题
Class ‘PHPWord_Writer_Word2003‘ not found
多数据中心操作和检测并发写入
三维目标检测之ROS可视化
位居榜首 | 未来智安荣登CCIA「2022年中国网安产业潜力之星」榜单
深度学习基础之过拟合、欠拟合问题和正则化
Autowired注解与Resource注解的区别
ftp服务的部署和优化
单目3D目标检测之入门
MySQL5.7的安装编译及报错的解决方法
[Win11] PowerShell无法激活Conda虚拟环境
深蓝学院-视觉SLAM十四讲-第五章作业
2022华为软件精英挑战赛(初赛)-总结
el-dropdown(下拉菜单)的入门学习
未来智安XDR及核心组件产品上榜《嘶吼2022网络安全产业图谱》
ffmpeg视频播放、格式转化、缩放等命令
深蓝学院-手写VIO作业-第二章
腾讯云+keepalived搭建云服务器主备实践