多主复制的适用场景(2)-需离线操作的客户端和协作编辑

简介: 3.1.2 需离线操作的客户端应用在断网后仍需继续工作。如手机、PC和其他设备上的日历应用。无论设备当前是否连网,都需随时查看

3.1.2 需离线操作的客户端

应用在断网后仍需继续工作。


如手机、PC和其他设备上的日历应用。无论设备当前是否连网,都需随时查看:


当前会议日程(读请求)

添加新会议(写请求)

离线状态下进行的任何更改,会在设备下次上线时,与服务器和其他设备同步。


此时,每个设备都有一个充当M的本地DB(接受写请求),并在所有设备之间采用异步方式同步这些多M上的副本,同步滞后可能是几h或数天,具体时间取决于设备何时再联网。


架构上,这种设置类似IDC之间的多主复制,只不过每个设备都是个“IDC”,而它们之间的网络连接极不可靠。从日历同步功能的这些破烂实现也能看出,多主可以得到结果,但中间依旧很多未知数。


有一些工具就是为了使多主配置更容易,如CouchDB。


3.1.3 协作编辑

实时协作编辑应用程序允许多人同时编辑文档。如Google Docs。通常不会将协作式编辑完全等价于数据库复制问题,但与前面提到的离线编辑案例类似。


当一个用户编辑文档时,所做更改将立即应用到本地副本(Web浏览器或客户端应用程序中的文档状态),并异步复制到服务器和编辑同一文档的任何其他用户。


若要保证不发生编辑冲突,则应用程序必须先锁定文档,然后才能编辑。若另一用户想编辑同一文档,必须等到第一个用户提交修改并释放锁。这种协作模式类似主从复制模型下在主节点执行事务。


为加速协作效率,期望将可编辑粒度设置很小,如一个按键甚至全程无锁。但同时也带来多主复制都有的挑战:解决冲突。

目录
相关文章
|
SQL 关系型数据库 测试技术
timescaleDB双机热备流复制与测试
最近有项目要用到热备功能,timescaledb只能兼容pg的流复制,不能兼容其他的复制策略,所以这里我们采用pg的流复制功能镜像部署,并进行了一些测试
851 0
|
4月前
|
项目管理 开发工具 Android开发
三类代码协同模式问题之开发者将远程上游仓库克隆到本地,并在本地创建开发分支问题如何解决
三类代码协同模式问题之开发者将远程上游仓库克隆到本地,并在本地创建开发分支问题如何解决
|
3月前
|
消息中间件 存储 Shell
就软件研发问题之使用mqadmin工具拷贝授权信息到新Broker的问题如何解决
就软件研发问题之使用mqadmin工具拷贝授权信息到新Broker的问题如何解决
|
4月前
|
存储 开发工具 Android开发
代码协同模式使用问题之创建特性分支,如何解决
代码协同模式使用问题之创建特性分支,如何解决
|
6月前
|
前端开发
基于jeecgboot的主从表改造成抽屉式的字典操作模式
基于jeecgboot的主从表改造成抽屉式的字典操作模式
111 0
|
6月前
|
存储 运维 NoSQL
深入理解Redis集群模式、协议、元数据维护方式
深入理解Redis集群模式、协议、元数据维护方式
278 0
|
安全
集群同步文件分发脚本编写
集群同步文件分发脚本编写
109 0
|
SQL 存储 关系型数据库
PostgreSQL 流复制搭建主从环境,同步和异步的解释,压力测试,主从角色切换|学习笔记
快速学习PostgreSQL 流复制搭建主从环境,同步和异步的解释,压力测试,主从角色切换
PostgreSQL 流复制搭建主从环境,同步和异步的解释,压力测试,主从角色切换|学习笔记
|
关系型数据库 MySQL
在线修改主从复制选项
MySQL最常用的架构就是主从复制了,其实主从复制有很多选项,特别是在从库端,我们可以设置复制过滤,比如说忽略某张表或某个库。这些过滤选项都是可以在线修改而不用重启的。原来对这块了解不多,最近看了下相关资料,个人觉得这个功能还是很方便的,本篇文章会将这块内容分享给大家。
100 0
|
存储 缓存
云存储网关复制模式新玩法 - 部分复制
说到云存储网关的复制模式,相信不少人都有既爱又恨的感觉。复制模式确实是一个非常实用的功能,它将数据在云端和网关侧同时保留了两份,不但降低了数据丢失的风险,同时也极大地提高了从网关访问数据的性能。如果预算允许,我相信所有用户都会选择复制模式,这样所有的数据都会缓存在网关,使用起来性能绝对是杠杠的。
625 0
云存储网关复制模式新玩法 - 部分复制
下一篇
无影云桌面