模块七_分布式理论

2020-09-21  本文已影响0人  西西弗斯XD

序言:

文章内容输出来源:拉勾教育Java高薪训练营。
本篇文章是学习课程中的一部分课后笔记

一、分布式系统

1、分布式概述

集群:多个人在一起作同样的事 。
分布式 :多个人在一起作不同的事 。

2、分布式系统面临的问题
  1. 由于网络原因,该请求并没有被成功的发送到接收方,而是在发送过程就发生了丢失现象
  2. 该请求成功的被接收方接收后,并进行了处理,但在响应反馈给发送方过程中,发生了消息丢失现象。
3、CAP定理
示例.png 二选一.png
4、BASE 理论
  1. Basically Available(基本可用)
    例:
    • 响应时间上的损失:正常情况下,一个在线搜索引擎需要在0.5秒之内返回给用户相应的查询结果,但由于出现故障(比如系统部分机房发生断电或断网故障),查询结果的响应时间增加到了1~2秒。
    • 功能上的损失:正常情况下,在一个电子商务网站(比如淘宝)上购物,消费者几乎能够顺利地完成每一笔订单。但在一些节日大促购物高峰的时候(比如双十一、双十二),由于消费者的购物行为激增,为了保护系统的稳定性(或者保证一致性),部分消费者可能会被引导到一个降级页面。
      功能上损失.png
  1. Soft state(软状态)
  1. Eventually consistent(最终一致性)
    最终一致性强调的是系统中所有的数据副本,在经过一段时间的同步后,最终能够达到一个一致的状态。因此最终一致性的本质是需要系统保证最终数据能够达到一致,而不需要实时保证系统数据的强一致性。
5、分布式理论:一致性协议 2PC

两个阶段过程:

  1. 准备阶段(Prepare phase):事务管理器给每个参与者发送Prepare消息,每个数据库参与者在本地执行事务,并写本地的Undo/Redo日志,此时事务没有提交。
    (Undo日志是记录修改前的数据,用于数据库回滚,Redo日志是记录修改后的数据,用于提交事务后写入数据文件)

  2. 提交阶段(commit phase):如果事务管理器收到了参与者的执行失败或者超时消息时,直接给每个参与者发送回滚(Rollback)消息;否则,发送提交(Commit)消息;参与者根据事务管理器的指令执行提交或者回滚操作,并释放事务处理过程中使用的锁资源。注意:必须在最后阶段释放锁资源。

异常流程.png
6、分布式理论:一致性协议 3PC
7、分布式理论:一致性算法 Paxos
算法演示.png
算法演示.png
8、分布式理论:一致性算法 Raft

3. 安全性

二、分布式架构网络通信

1、什么是RPC
RPC调用过程.png
2、什么是RMI
RMI.png
3、BIO、NIO、AIO
同步&阻塞.png NIO模型.png

例子:


示例.png
上一篇 下一篇

猜你喜欢

热点阅读