当前位置:网站首页>多主复制的适用场景(2)-需离线操作的客户端和协作编辑
多主复制的适用场景(2)-需离线操作的客户端和协作编辑
2022-07-31 15:27:00 【华为云】
3.1.2 需离线操作的客户端
应用在断网后仍需继续工作。
如手机、PC和其他设备上的日历应用。无论设备当前是否连网,都需随时查看:
- 当前会议日程(读请求)
- 添加新会议(写请求)
离线状态下进行的任何更改,会在设备下次上线时,与服务器和其他设备同步。
此时,每个设备都有一个充当M的本地DB(接受写请求),并在所有设备之间采用异步方式同步这些多M上的副本,同步滞后可能是几h或数天,具体时间取决于设备何时再联网。
架构上,这种设置类似IDC之间的多主复制,只不过每个设备都是个“IDC”,而它们之间的网络连接极不可靠。从日历同步功能的这些破烂实现也能看出,多主可以得到结果,但中间依旧很多未知数。
有一些工具就是为了使多主配置更容易,如CouchDB。
3.1.3 协作编辑
实时协作编辑应用程序允许多人同时编辑文档。如Google Docs。通常不会将协作式编辑完全等价于数据库复制问题,但与前面提到的离线编辑案例类似。
当一个用户编辑文档时,所做更改将立即应用到本地副本(Web浏览器或客户端应用程序中的文档状态),并异步复制到服务器和编辑同一文档的任何其他用户。
若要保证不发生编辑冲突,则应用程序必须先锁定文档,然后才能编辑。若另一用户想编辑同一文档,必须等到第一个用户提交修改并释放锁。这种协作模式类似主从复制模型下在主节点执行事务。
为加速协作效率,期望将可编辑粒度设置很小,如一个按键甚至全程无锁。但同时也带来多主复制都有的挑战:解决冲突。
边栏推荐
- TRACE32 - C source code association
- 乡村基冲刺港交所:5个月期内亏2224万 SIG与红杉中国是股东
- 数据表插入数据insert into
- STM32(十)------- SPI通信
- R语言ggstatsplot包ggbarstats函数可视化条形图、并添加假设检验结果(包含样本数、统计量、效应大小及其置信区间、显著性、组间两两比较、贝叶斯假设)、检验结果报告符合APA标准
- 更新数据表update
- mysql黑窗口~建库建表
- Synchronized和volatile 面试简单汇总
- Excel快速对齐表格的中姓名(两个字姓名和三个字姓名对齐)
- what exactly is json (c# json)
猜你喜欢
Word table to Excel
11 pinia use
The use of button controls
[CUDA study notes] First acquaintance with CUDA
Excel quickly aligns the middle name of the table (two-word name and three-word name alignment)
名创优品斥资6.95亿购买创始人叶国富所持办公楼股权
Grafana安装后web打开报错
模板与泛型编程值typelist实现
TRACE32 - C source code association
基于最小二乘法和SVM从天气预报中预测太阳能发电量(Matlab代码实现)
随机推荐
The R language ggstatsplot package ggbarstats function visualizes bar charts, and adds hypothesis test results (including sample number, statistics, effect size and its confidence interval, significan
Efficient use of RecyclerView Section 1
Destruction order of thread_local variables
浏览器自带的拾色器
Browser's built-in color picker
The use of border controls
R语言向前或者向后移动时间序列数据(自定义滞后或者超前的期数):使用dplyr包中的lag函数将时间序列数据向前移动一天(设置参数n为正值)
为什么黑客领域几乎一片男生?
Implementing click on the 3D model in RenderTexture in Unity
Unity中实现点选RenderTexture中的3D模型
Matlab矩阵基本操作(定义,运算)
update data table update
R语言ggplot2可视化:使用ggpubr包的ggboxplot函数可视化分组箱图、使用ggpar函数改变图形化参数(legend、修改可视化图像的图例在整图中的位置)
thread_local 变量的析构顺序
Gorm—Go language database framework
Linux查看redis版本(查看mongodb版本)
R语言计算时间序列数据的移动平均值(滚动平均值、例如5日均线、10日均线等):使用zoo包中的rollmean函数计算k个周期移动平均值
Ubantu专题5:设置静态ip地址
mongo进入报错
R语言ggstatsplot包ggbarstats函数可视化条形图、并添加假设检验结果(包含样本数、统计量、效应大小及其置信区间、显著性、组间两两比较、贝叶斯假设)、检验结果报告符合APA标准