当前位置:网站首页>多主复制的适用场景(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浏览器或客户端应用程序中的文档状态),并异步复制到服务器和编辑同一文档的任何其他用户。
若要保证不发生编辑冲突,则应用程序必须先锁定文档,然后才能编辑。若另一用户想编辑同一文档,必须等到第一个用户提交修改并释放锁。这种协作模式类似主从复制模型下在主节点执行事务。
为加速协作效率,期望将可编辑粒度设置很小,如一个按键甚至全程无锁。但同时也带来多主复制都有的挑战:解决冲突。
边栏推荐
- abaqus find contact pairs报错:surface name is already in use
- 安装Xshell并使用其进行Ymodem协议的串口传输
- 浏览器自带的拾色器
- 01 邂逅typescript,环境搭建
- RecyclerView的高效使用第一节
- Linux查看redis版本(查看mongodb版本)
- 删除 状态良好(恢复分区)的磁盘
- Doing things software development - the importance of law and understanding of reasonable conclusions
- Implement anti-shake and throttling functions
- 思路迪医药冲刺港股:5个月亏2.9亿 泰格医药与先声药业是股东
猜你喜欢
随机推荐
JVM parameter analysis Xmx, Xms, Xmn, NewRatio, SurvivorRatio, PermSize, PrintGC "recommended collection"
C语言”三子棋“升级版(模式选择+AI下棋)
模板与泛型编程值typelist实现
ES6 类
thread_local 变量的析构顺序
删除 状态良好(恢复分区)的磁盘
RecyclerView的高效使用第一节
Internet banking stolen?This article tells you how to use online banking safely
力扣:714. 买卖股票的最佳时机含手续费
mysql black window ~ build database and build table
R语言ggplot2可视化:使用ggpubr包的ggmaplot函数可视化MA图(MA-plot)、font.legend参数和font.main参数设置标题和图例字体加粗
"Autumn Recruitment Series" MySQL Interview Core 25 Questions (with answers)
The use of button controls
Emmet syntax
[CUDA study notes] First acquaintance with CUDA
abaqus find contact pairs报错:surface name is already in use
TextBlock控件入门基础工具使用用法,取上法入门
mysql黑窗口~建库建表
SIGABRT 报错时的注意事项和解决方法
四象限时间管理有多好用?








