首页 › 分布式协作与一致性 › 正文
多数派并不代表可以忽略任意网络分裂,网络分区使部分节点之间暂时无法通信_分布式协作与一致性
笔记摘要
分布式协作与一致性
线性一致性使操作看似在某个瞬间完成
线性一致性使操作看似在某个瞬间完成。因果一致性保留具有因果关系操作的顺序。共识算法使参与节点对特定结果达成一致。多数派机制能够容忍一定数量的节点故障。多数派并不代表可以忽略任意网络分裂。领导者协调写入等工作以简化状态管理。选举机制在领导者失效后建立新协调者。脑裂表示系统出现相互冲突的主导状态。
至少一次投递可能让同一消息重复出现
至少一次投递可能让同一消息重复出现。至多一次投递可能在故障时丢失消息。恰好一次语义需要限定具体作用范围。业务副作用仍需要单独设计去重机制。事务发件箱协调数据库更新和事件发布。分布式事务需要处理跨节点提交协调。两阶段提交可能在部分故障下发生阻塞。补偿事务通过业务动作撤销已完成影响。
分布式系统由通过网络协作的多个节点组成
分布式系统由通过网络协作的多个节点组成。节点故障和通信延迟是常见设计前提。网络分区使部分节点之间暂时无法通信。复制通过保存多个副本提高数据可用性。副本之间需要协调更新和冲突处理。最终一致性允许副本在一段时间后趋同。最终收敛不保证读取总能获得最新结果。
重试机制需要配合退避以防止负载放大
重试机制需要配合退避以防止负载放大。抖动使大量客户端的重试时间更加分散。熔断器在持续失败时暂时停止调用。隔舱限制故障消耗的资源传播范围。限流用于控制进入系统的请求速率。背压把下游处理不足的信息传回上游。消息队列能够缓冲生产与消费速度差异。
笔记类型说明
来源:星苇探知