什么是客户端写复制协议?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

什么是客户端写复制协议?

2021-12-09 17:45:59 229 1

什么是客户端写复制协议?

取消 提交回答
全部回答(1)
  • 游客tuzn5wyxcrtqk
    2021-12-10 11:16:54

    客户端写复制协议要求客户端部署复制逻辑代码实现数据复制,并且所 有客户端能够并发地执行写入请求。由于不像基千主复制协议那样,由主节点负责请求的顺序性,因此并发冲突是客户端写复制协议的挑战,它只适合并发冲突较少的场景。为了解决并发冲突,客户端写复制协议提供了以下 2种方案。

    1. 主动复制 ( ActiveReplication)。为了控制客户端并发冲突,客户端指定专用的协调节点生成序列号,由该协调节点负责为所有客户端请求 生成序列号,序列号就是逻辑时钟( LogicalClock) 技术,从而可以保证所有请求的先后顺序。但是该方法 存在扩展性问题,因为所有客户端的请求都需要向它申请序列号,所以非常容易形成系统瓶颈。

    2.投票复制 ( Quorum-basedReplication)。投票是解决冲突的机制,定义系统的副本总数为 N, 读该对象时成功返回的副本数为读投票 RQ,写该对象时成功返回的副本 数为写投票 WQ,那么必须满足如下条件。 条件 l: RQ+ WQ>N 条件 2: Wq> N/2 由于RQ+ WQ> N,表示读、写存在重叠,因此能够读到最新数据。同时 WQ> N/2,表示写入超过一半成功 ,因此在副本节点出现故障后 仍然能够让系统最终更新为最新值。如果写入冲突少,则投票复制非常好;如果冲突较多,则将带来复杂的冲突处理,并影响系统性能。

    image.png

    资料来源:《对象存储实战指南》

    0 0
0
文章
176
问答
问答排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载