当前位置:网站首页>多主复制的适用场景(2)-需离线操作的客户端和协作编辑
多主复制的适用场景(2)-需离线操作的客户端和协作编辑
2022-08-02 03:37:00 【JavaEdge.】
3.1.2 需离线操作的客户端
应用在断网后仍需继续工作。
如手机、PC和其他设备上的日历应用。无论设备当前是否连网,都需随时查看:
- 当前会议日程(读请求)
- 添加新会议(写请求)
离线状态下进行的任何更改,会在设备下次上线时,与服务器和其他设备同步。
此时,每个设备都有一个充当M的本地DB(接受写请求),并在所有设备之间采用异步方式同步这些多M上的副本,同步滞后可能是几h或数天,具体时间取决于设备何时再联网。
架构上,这种设置类似IDC之间的多主复制,只不过每个设备都是个“IDC”,而它们之间的网络连接极不可靠。从日历同步功能的这些破烂实现也能看出,多主可以得到结果,但中间依旧很多未知数。
有一些工具就是为了使多主配置更容易,如CouchDB。
3.1.3 协作编辑
实时协作编辑应用程序允许多人同时编辑文档。如Google Docs。通常不会将协作式编辑完全等价于数据库复制问题,但与前面提到的离线编辑案例类似。
当一个用户编辑文档时,所做更改将立即应用到本地副本(Web浏览器或客户端应用程序中的文档状态),并异步复制到服务器和编辑同一文档的任何其他用户。
若要保证不发生编辑冲突,则应用程序必须先锁定文档,然后才能编辑。若另一用户想编辑同一文档,必须等到第一个用户提交修改并释放锁。这种协作模式类似主从复制模型下在主节点执行事务。
为加速协作效率,期望将可编辑粒度设置很小,如一个按键甚至全程无锁。但同时也带来多主复制都有的挑战:解决冲突。
边栏推荐
- 吴恩达机器学习系列课程笔记——第十五章:异常检测(Anomaly Detection)
- ansible的安装与部署
- 科研笔记(八) 深度学习及其在 WiFi 人体感知中的应用(下)
- 对周期内时间段是否重叠进行校验
- Transfer of UKlog.dat and QQ, WeChat files
- SCI期刊最权威的信息查询步骤!
- Autowired注解与Resource注解的区别
- Nexus 5 phone uses Nexmon tool to get CSI information
- QT中更换OPENCV版本(3->4),以及一些宏定义的改变
- [Win11] PowerShell无法激活Conda虚拟环境
猜你喜欢
随机推荐
企业需要知道的5个 IAM 最佳实践
如何将 DevSecOps 引入企业?
最后写入胜利(丢弃并发写入)
Gartner 权威预测未来4年网络安全的8大发展趋势
Jetson Nano 2GB Developer Kit 安装说明
深蓝学院-视觉SLAM十四讲-第六章作业
吴恩达机器学习系列课程笔记——第十四章:降维(Dimensionality Reduction)
Deep Blue Academy - 14 Lectures on Visual SLAM - Chapter 7 Homework
Pycharm platform import scikit-learn
心余力绌:企业面临的软件供应链安全困境
ffmpeg视频播放、格式转化、缩放等命令
详解CAN总线:什么是CAN总线?
箭头函数及其this的指向
Scalar value for argument ‘color‘ is not numeric错误处理
Jetson Nano 2GB Developer Kit Installation Instructions
允许Traceroute探测
asyncawait和promise的区别
Transfer of UKlog.dat and QQ, WeChat files
PHP实现阿里云HMAC-SHA1签名方法封装
深度学习基础之批量归一化(BN)