美文网首页
ceph rgw 中租约分析

ceph rgw 中租约分析

作者: 小跑001 | 来源:发表于2022-05-10 11:40 被阅读0次

1、租约意义

sharding需要同步,但是这里rgw是无状态的,因此有多个rgw,到底哪个rgw负责实施同步流程,需要一个机制来保证只有唯一一个rgw来实施,否则就会导致数据错乱或者重复操作

思路

  • 通过抢锁,谁先抢到谁先实施, 并且每次抢到会有一个时间期限,在rgw里面默认是120s,参考RGWSimpleRadosLockCR里面的代码。
  • 然后有一个租约流程,参考RGWContinuousLeaseCR, 如果抢锁成功则每隔60秒去续约, 如果失败则退出
  • 外部可以加个驱动,驱使抢锁失败的再重新去调度,例如RGWMetaSyncShardControlCR:public RGWBackoffControlCR中每次抢锁失败会等待一会儿,最大不超过30s,就会再次去触发抢锁
  • 抢锁的逻辑是放在单独的stack,可以理解为线程,因为不应被抢锁成功后所应做的事情阻塞, 这里需要及时的去续约

抢锁逻辑分析

  • 每次抢锁成功,可以确保接下来的120s执行后续的同步逻辑是安全的
  • 抢锁成功之后可以等到120s之后再去续约,但是这个时候很有可能就被其它人抢走了,所以需要在60s之后就要去续约, 另外就是60s之后去续约就始终保证了接下来同步耗时有60s的容错时间,也就是保证接下来你执行任何事情无论耗时多久在这60s内都不会被其它人打扰,因为顶多你续约失败,那么还有60s是不被打扰的。如果不中途续约,比如119秒的时候去续约,118秒的时候执行一个操作,这个操作需要10秒,那么很可能续约失败,被其它rgw抢占,那么就很可能两个rgw就在做同样的事情。

相关文章

  • ceph rgw 中租约分析

    1、租约意义 sharding需要同步,但是这里rgw是无状态的,因此有多个rgw,到底哪个rgw负责实施同步流程...

  • ceph学习(二)RGW搭建

    背景Ceph RGW简介 Ceph RGW基于librados,是为应用提供RESTful类型的对象存储接口。RG...

  • ceph rgw ec 分析

    1、目的 只有清楚了EC内部实现原理才知道如何调节EC参数来适配自己的场景 2、需要条带大小对齐么 1、需要a) ...

  • Ceph对象存储RGW架构及安装实战

    Ceph RGW架构简介 我们知道Ceph可以提供块、文件和对象三种形态的存储。而RGW就是提供对象存储的网关,也...

  • rgw实现nfs

    ceph一、功能介绍关于rgw实现nfs接口这个,刚接触的人可能并不清楚这个是个什么样的服务架构,rgw是ceph...

  • Ceph RGW:数据的存储及寻址

    RGW数据分布及寻址 RGW是一个对象处理网关。数据实际存储在ceph集群中。利用librados的接口,与cep...

  • 客户端-RGW监控埋点

    1. RADOS 1.1 RGW Client Metrics Table ceph --admin-daemon...

  • ceph支持对象存储多租户

    搞定ceph对象存储集成keystone认证。rgw keystone make new tenants = true

  • 【ceph】安装-对象存储rgw

    简介安装rgw对象存储网关并创建用户和桶 部署rgw 创建池 重启网关 测试访问ceph集群 创建radosgw用...

  • 通过ganesha-nfs将Ceph导出为NFS(Luminou

    1. 环境: 关于ceph的安装可参考ceph luminous安装 2. 安装依赖 如果要生成FSAL_RGW模...

网友评论

      本文标题:ceph rgw 中租约分析

      本文链接:https://www.haomeiwen.com/subject/kprlurtx.html