enr*_*cis 1 replication openstack-swift propagation openstack
OpenStack Swift允许在群集上的多个位置复制和分发对象.
是否保证在成功PUT操作后,我可以立即GET对象或者我必须等待对象在群集上传播?
小智 6
当Swift为PUT操作返回成功时,可以保证它已写入仲裁(即(numReplicas/2)+ 1).例如,使用3x副本策略,将在确认写入请求之前写入两个副本.由于只有一个副本可用于要读取的对象,因此该对象立即可用.在正常对象复制器服务周期期间写入剩余副本,并根据环配置进行放置.
至于它是否存在于容器列表中,可能会有点复杂.在Liberty版本中,有一个调用container_update_timeout默认值为1 的配置设置.这表示如果对象服务器在不到1秒的时间内从容器服务获得确认,则更新同步发生,并在成功返回到客户.但是,如果容器服务花费的时间比此长,或者将值设置得非常低(例如0),则容器更新将捆绑在一起并异步提交给容器服务.
这样做是为了提高在多区域部署在容器元数据被更新在同一个数据中心可能不存在,或者甚至是同一个国家的表现,作为服务对象的请求更新.
| 归档时间: |
|
| 查看次数: |
338 次 |
| 最近记录: |