个人简介

Echo Blog


江湖无名 安心练剑
  • 分布式系统-09-MVCC 多版本并发控制
    基于MVCC的分布式事务 实现分布式事务除了使用类似“两阶段提交协议等方式外,另一种简单高效的方式就是使用MVCC(Multi version Cocurrent Control ,多版本并发控制技术。 MVCC 技术最初也是在数据库系统中被提出,但这种思想并不局限于单机的分布式系统,在分布式系统中同样有效。 MVCC简介 顾名思义,MVCC 即多个不同版本的数据实现并发控制的技术,...
    2021-03-06 08:52:15 | Distributed
  • 分布式系统-08-two phase commit 两阶段提交协议
    两阶段提交协议 两阶段提交协议是一种经典的强一致性中心化副本控制协议。 虽然在工程中该协议有较多的问题,但研究该协议能很好的理解分布式系统的几个典型问题。 问题背景 两阶段提交(two phase commit )协议是一种历史悠久的分布式控制协议。 最早用于在分布式数据库中,实现分布式事务。 这里有必要首先简单介绍一下两阶段提交的最初问题背景,从而能更好的理解该协议。 业务背...
    2021-03-06 08:52:15 | Distributed
  • 分布式系统-07-log 日志技术
    日志技术 日志技术是宕机恢复的主要技术之一。 日志技术最初使用在数据库系统中。 严格来说日志技术不是一种分布式系统的技术,但在分布式系统的实践中,却广泛使用了日志技术 做宕机恢复,甚至如 BigTable 等系统将日志保存到一个分布式系统中进一步增强了系统容错能力 。 本章首先简单介绍数据库系统中的日志技术,进而抽象简化问题模型,在简化模型的基础上介绍两种实用的日志技术 Redo L...
    2021-03-06 08:52:15 | Distributed
  • 分布式系统-06-Quorum 简单高效的副本管理机制。
    Quorum机制 Quorum机制是一种简单有效的副本管理机制。 本节首先讨论一种最简单的副本控制规则 write all read one ,在此基础上,放松约束,讨论 quorum。 约定 为了简化讨论,本节先做这样的约定:更新操作(write )是一系列顺序的过程,通过其他机制确定更新操作的顺序(例如 primary secondary 架构中由 primary 决定顺序),每...
    2021-03-06 08:52:15 | Distributed
  • 分布式系统-05-Lease 机制,判定节点的状态
    Lease 机制 Lease 机制是最重要的分布式协议,广泛应用于各种实际的分布式系统中。 即使在某些系统中相似的设计不被称为 lease ,但我们可以分析发现其本质就是一种 lease 的实现。 本节从一个分布式cache 系统出发介绍最初的 lease 机制,接着加以引申,探讨 lease 机制的本质。 最后介绍了 lease 机制最重要的应用:判定节点状态。 基于 lease...
    2021-03-06 08:52:15 | Distributed
  • 分布式系统-04-基本副本理论
    基本副本协议 本节讨论基本的副本控制协议,着重分析两大类典型的副本控制协议。 副本控制协议指按特定的协议流程控制副本数据的读写行为,使得副本满足一定的可用性和一致性要求的分布式协议。 副本控制协议要具有一定的对抗异常状态的容错能力,从而使得系统具有一定的可用性,同时副本控制协议要能提供一定一致性级别。 由 CAP 原理可知,要设计一种满足强一致性,且在出现任何网络异常时都可用的副本协...
    2021-03-06 08:52:15 | Distributed
  • 分布式系统-03-数据分布方式原理
    数据分布方式 所谓分布式系统顾名思义就是利用多台计算机协同解决单台计算机所不能解决的计算、存储等问题。 单机系统与分布式系统的最大的区别在于问题的规模,即计算、存储的数据量的区别。 将一个单机问题使用分布式解决,首先要解决的就是如何将问题拆解为可以使用多机分布式解决,使得分布式系统中的每台机器负责原问题的一个子集。 由于无论是计算还是存储,其问题输入对象都是数据,所以如何拆解分布式系...
    2021-03-06 08:52:15 | Distributed
  • 分布式系统-02-基本概念
    基本概念 节点 节点是指一个可以独立按照分布式协议完成一组逻辑的程序个体。 在具体的工程项目中,一个节点往往是一个操作系统上的进程。 通信 节点与节点之间是完全独立、相互隔离的,节点之间传递信息的唯一方式是通过不可靠的网络进行通信。 即一个节点可以向其他节点通过网络发送消息,但发送消息的节点无法确认消息是否被接收节点完整正确收到。 存储 节点可以通过将数据写入与节点在同一台机器...
    2021-03-06 08:52:15 | Distributed