分布式理论与分布式架构设计理论

目录

一. 分布式架构介绍

(一)什么是分布式系统

 (二)分布式与集群的区别

 (三)分布式系统特性

 (四)分布式系统面临的问题

二.分布式理论

(一)数据一致性

1.什么是分布式数据一致性

 2. 副本一致性

 3. 一致性分类

(二)CAP定理

1.CAP定理介绍

 2. CAP三者不可能同时满足论证

 3. CAP三者如何权衡

 (三)BASE理论

 三. 分布式一致性协议

(一)两阶段提交协议(2PC)

 1.两阶段提交协议

 2.2PC执行流程

 3. 2PC 优点缺点

 (二)三阶段提交协议(3PC)

1.三阶段提交协议

 2. 三个阶段详解

 3. 2PC对比3PC

 (三)NWR协议

1.什么是NWR协议

2. 原理

 (四)Gossip 协议

1.什么是Gossip 协议

 2. Gossip原理

 3.  通信方式

 4.  优缺点

 (五)Paxos协议

1.  什么是Paxos

​ 2.  Paxos 解决了什么问题

 3.   Basic Paxos相关概念

 4.  Basic Paxos流程图

5.  Multi-Paxos流程图

 6.  Multi-Paxos角色重叠流程图

(六)Raft协议

1. 什么是Raft协议

 2.  Raft相关概念

​ 3.  竞选阶段流程

 4. Leader节点宕机

 5. 多个 Candidate 竞选

 6.  日志复制

 7. 网络分区

8. 网络分区情况日志复制

(七)Lease机制

1. 什么是Lease机制

 2.  Lease机制解决了什么问题

 2.  Lease的原理

 3.  lease的容错

 4.  应用

四.  分布式系统设计策略

(一)心跳检测

 (二)高可用

1.  高可用HA设计

​ 2.  高可用HA下"脑裂问题"

​ (三)容错性

​ (四)负载均衡

 五. 分布式架构服务调用

(一)服务调用

 (二)实现方式

1.  HTTP 应用协议的通信框架

 2.  RPC 框架

 (三)跨域调用

1.  跨域

​ 2.  常见的解决方案

 六. 分布式服务治理

(一)服务协调

 (二)服务削峰

1.  为什么要削峰

 2.  流量削峰方案

 (三)服务降级

1.  什么是服务降级

 2. 降级策略

 3. 分级降级

 (四)服务限流

1.  什么是服务限流

 2. 多维度限流

 3. 限流算法

​ (五)服务熔断

 1. 什么是服务熔断

2.熔断机制

 3.  熔断机制实现

 (六)服务链路追踪

1.  什么是链路追踪

 2.  链路跟踪具备的功能

3. 链路跟踪设计原则

 4. 链路跟踪Trace模型

​ 七. 架构设计基本原则

 (一)开闭原则

1. 开闭原则的定义

 2. 开闭原则的作用

 3. 开闭原则的实现方法

(二)单一职责原则

1.  单一职责原则的定义

 2. 单一职责原则的优点

 3. 单一职责原则的实现方法

 (三)接口隔离原则

1. 接口隔离原则的定义

 2. 接口隔离原则的优点

 3. 接口隔离原则的实现方法

 (四)里氏替换原则

1.里氏替换原则的定义

 2. 里氏替换原则的作用

 3. 里氏替换原则的实现方法

​ (五)依赖倒置原则

 1. 依赖倒置原则定义

 2. 依赖倒置原则的作用

3.  依赖倒置原则的实现方法

 (六)迪米特法则

1.迪米特法则的定义

 2. 迪米特法则的优点

 3. 迪米特法则的实现方法

 (七)合成复用原则

1. 合成复用原则的定义

2. 合成复用原则的重要性

3. 合成复用原则的实现方法


一. 分布式架构介绍

(一)什么是分布式系统

 

 (二)分布式与集群的区别

集群: 多个服务器做同一个事情

 分布式: 多个服务器做不同的事情

 (三)分布式系统特性

 (四)分布式系统面临的问题

 

 

 

 

 

 

 

二.分布式理论

(一)数据一致性

1.什么是分布式数据一致性

 2. 副本一致性

 3. 一致性分类

 

 

 

 

 

 

 

(二)CAP定理

1.CAP定理介绍

 

 

 2. CAP三者不可能同时满足论证

 

 

 3. CAP三者如何权衡

 

 

 

 

 (三)BASE理论

 

 

 三. 分布式一致性协议

(一)两阶段提交协议(2PC)

 1.两阶段提交协议

 

 

 2.2PC执行流程

 

 3. 2PC 优点缺点

 

 (二)三阶段提交协议(3PC)

三阶段提交协议出现背景:一致性协议中设计出了二阶段提交协议( 2PC ),但是 2PC 设计中还存
在缺陷,于是就有了三阶段提交协议,这便是 3PC 的诞生背景。

1.三阶段提交协议

 2. 三个阶段详解

 

 

 3. 2PC对比3PC

 (三)NWR协议

1.什么是NWR协议

2. 原理

 

 

 

 (四)Gossip 协议

1.什么是Gossip 协议

 

 2. Gossip原理

 3.  通信方式

 

 4.  优缺点

 (五)Paxos协议

1.  什么是Paxos

2.  Paxos 解决了什么问题

 

 

 

 

 

 3.   Basic Paxos相关概念

 

 

 4.  Basic Paxos流程图

 

 

 

 

针对活锁问题解决起来非常简单 : 只需要在每个 Proposer 再去提案的时候随机加上一个等待时间即

5.  Multi-Paxos流程图

 6.  Multi-Paxos角色重叠流程图

(六)Raft协议

1. 什么是Raft协议

 2.  Raft相关概念

3.  竞选阶段流程

这个是 Raft 完整版 http://thesecretlivesofdata.com/raft/ 动画演示
github 也提供一个 https://raft.github.io/ 动画演示地址 . 原理都是一样的 .

 

 

 我们使用了3个不同的圆圈表示三种不同的状态

 

 

 

 4. Leader节点宕机

 5. 多个 Candidate 竞选

 

 6.  日志复制

 

 

 7. 网络分区

 

 

8. 网络分区情况日志复制

 

 

(七)Lease机制

1. 什么是Lease机制

 

 2.  Lease机制解决了什么问题

分布式系统中,如何确认一个节点是否工作正常?如果有 5 副本 1-5 。其中 1 号为主副本。

 

 

 2.  Lease的原理

 

 

 

 3.  lease的容错

 4.  应用

四.  分布式系统设计策略

(一)心跳检测

 

 

 

 (二)高可用

1.  高可用HA设计

2.  高可用HA"脑裂问题"

 

 

(三)容错性

 

 

 

(四)负载均衡

 

 

 

 五. 分布式架构服务调用

(一)服务调用

 

 (二)实现方式

1.  HTTP 应用协议的通信框架

 2.  RPC 框架

 

 

 

 (三)跨域调用

1.  跨域

2.  常见的解决方案

 

 六. 分布式服务治理

(一)服务协调

 

 

 (二)服务削峰

1.  为什么要削峰

 2.  流量削峰方案

 

 

 

 (三)服务降级

1.  什么是服务降级

 2. 降级策略

 3. 分级降级

 (四)服务限流

1.  什么是服务限流

 2. 多维度限流

 3. 限流算法

 

(五)服务熔断

 1. 什么是服务熔断

 

 像这种调用链路的连锁故障,叫做雪崩

2.熔断机制

在这种时候,就需要我们的熔断机制来挽救整个系统。 

 

 3.  熔断机制实现

 

 (六)服务链路追踪

1.  什么是链路追踪

 

 2.  链路跟踪具备的功能

 

 

 

通过可视化分布式系统的模块和他们之间的相互联系来理解系统拓扑。点击某个节点会展示这个
模块的详情,比如它当前的状态和请求数量。

3. 链路跟踪设计原则

 4. 链路跟踪Trace模型

七. 架构设计基本原则

 

 (一)开闭原则

1. 开闭原则的定义

 2. 开闭原则的作用

 3. 开闭原则的实现方法

 

 

(二)单一职责原则

1.  单一职责原则的定义

 2. 单一职责原则的优点

 3. 单一职责原则的实现方法

 (三)接口隔离原则

1. 接口隔离原则的定义

 2. 接口隔离原则的优点

 3. 接口隔离原则的实现方法

 

 

 

 (四)里氏替换原则

1.里氏替换原则的定义

 2. 里氏替换原则的作用

 3. 里氏替换原则的实现方法

 

 

(五)依赖倒置原则

 1. 依赖倒置原则定义

 2. 依赖倒置原则的作用

3.  依赖倒置原则的实现方法

 

 (六)迪米特法则

1.迪米特法则的定义

 2. 迪米特法则的优点

 3. 迪米特法则的实现方法

 

 

 

 (七)合成复用原则

1. 合成复用原则的定义

 

2. 合成复用原则的重要性

3. 合成复用原则的实现方法

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《分布式系统概念与设计》是一本著名的计算机科学教材,主要讲解了分布式系统的基本概念和设计原理。第五版的内容较之前版本有所更新,更贴近当今的分布式系统技术发展趋势。 分布式系统是由多个独立计算机节点构成的系统,节点之间通过网络进行通信和协作。与传统的集中式系统相比,分布式系统具有更好的可扩展性、容错性和灵活性。本书以理论与实践相结合的方式,深入介绍了分布式系统设计的思想与方法。 第五版的内容涵盖了分布式计算基础、分布式一致性、分布式对象和分布式文件系统等方面。其中,作者对一致性问题进行了详细的剖析,介绍了各种一致性模型和算法,如Paxos算法、Raft算法等。此外,本书还介绍了分布式系统中的并发控制、故障恢复、安全和性能优化等关键技术。 与之前版本相比,第五版在内容上更加全面且前沿。对于分布式系统的设计和实现有着重要的指导作用。此外,本书还提供了大量的案例研究和实践练习,帮助读者深入理解和掌握分布式系统的设计方法和技术。 通过阅读《分布式系统概念与设计》第五版,读者可以全面了解分布式系统的基本概念和关键技术,掌握分布式系统的设计原理和实践经验。它适用于计算机科学与技术、软件工程等相关专业的学生和从业人员,也可以作为分布式系统领域的参考书籍。 总之,这本书是一本值得深入学习的经典教材,读者通过学习可以加深对分布式系统的理解,并在实践中应用于解决实际问题。 ### 回答2: 《分布式系统概念与设计》是一本经典的分布式系统教材,第五版发行于2011年。本书作者是George Coulouris、Jean Dollimore和Tim Kindberg。 《分布式系统概念与设计》主要介绍了分布式系统的概念、原理、设计和实现等方面的知识。该书首先介绍了分布式系统的基本概念,如进程通信、一致性、容错和可靠性等,为后续内容打下基础。 接着,书中详细讲解了常见的分布式系统模型与技术,例如客户端/服务器体系结构、对等体架构、消息传递和远程过程调用等。这些模型和技术都是分布式系统开发中常用的工具和方法。 在设计部分,书中介绍了分布式系统的设计原则、模式和方法。作者结合了丰富的实例,从不同角度讲解了如何设计出高效可靠的分布式系统。此外,分布式系统的性能和安全问题也被充分讨论。 最后,书中还涵盖了一些新兴的研究领域,如面向服务的体系结构、Web服务和云计算等,这些技术在当今的分布式系统中越来越重要。 《分布式系统概念与设计》第五版具有全面、系统和深入的特点,适合作为大学本科和研究生分布式系统相关课程的教材。该书可以帮助读者全面了解分布式系统的基本原理和设计思想,并且有助于读者在实际开发中应用这些知识。 ### 回答3: 《分布式系统概念与设计》是一本由美国加州大学圣塔巴巴拉分校教授George Coulouris等人合著的经典教材,目前最新版本是第五版。 该教材主要介绍了分布式系统的概念和设计原理分布式系统是由多台计算机组成的网络系统,其运行在不同位置的计算机上,相互通过网络进行通信和协作。 第五版的《分布式系统概念与设计》全面介绍了分布式系统的架构、通信、一致性、容错、安全等方面的知识。其中包括了分布式计算模型、分布式对象和组件、分布式操作系统、分布式文件系统、分布式数据库系统等内容。 这本教材的设计目标是帮助读者深入了解分布式系统的设计和工作原理,提供相关技术和概念的全面解释,同时提供实际案例和示例代码,帮助读者掌握实际应用和开发分布式系统所需的工具和技术。 在当前云计算和大数据时代,分布式系统已成为一种重要的计算模型和架构,广泛应用于各个领域。学习和掌握分布式系统的概念与设计原理,对于系统架构师、软件工程师、研发人员等具有重要的意义。 通过阅读《分布式系统概念与设计》第五版,读者可以深入了解分布式系统的工作原理和技术,掌握分布式系统的设计思想和开发方法,提升自己在分布式系统领域的技术能力和专业水平。 总之,《分布式系统概念与设计》第五版是一本重要且有价值的分布式系统教材,它为读者提供了深入了解和应用分布式系统的重要资料和指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值