Ch00 Replication

5/20/2022 Distributed System

# Replication

  • Replication可以带来的好处:

    • performance enhancement:比如,负载均衡到多台服务器上

    • fault-torlance: 比如,有f+1台服务器,f台挂了,还能有一台提供服务

    • availability

  • Replication需要实现的点:

    • replication transparency:用户只看到一个logical object,而不是很多个pyhsical object

    • consistency:一致性保证

  • replica managerimage

  • 处理请求的5个阶段:image

  • Group communication:把process分成一个一个group,更方便管理,并且可以用multicast,用group addressimg

  • process只可以处理在view中的process发出的消息img

  • 分布式系统的一致性https://www.cnblogs.com/hzmark/p/consistency_model.htmlimgimgimgimg

  • 例子:

    • 不可能linearizable,但是可以是sequential的imgimg
  • 一种解决fault torlance的模型:实现了linearizable consistency,请求只发给primary

    • 每个请求带有一个独一无二的id,只有primary接受并且处理这个请求,并且存储结果,如果这个请求已经处理过了,那么re-send他的结果

    • 如果是一个更新操作,那么primary把这个更新发送给其他的backup,让他们更新,backup发回ack来确认收到了更新

    • 通过view-synchronize来得知primary挂了

  • Active 模型:请求发给所有的RMimg

  • gossip 模型:请求发给离自己最近的RM

    • data is replicated close to the location of the client

    • RMs periodically exchange ‘gossip’ messages containing updates

    • 执行update和query之前必须先询问其他rm来执行在这之前的update,来做到causal ordering

    • 使用vector timestamps来确保update执行的顺序

Last Updated: 11/19/2024, 1:54:38 PM