分布式

**

分布式

**

一定义

 很多台计算机 , 组成一个整体 , 一个整体一致对外 , 并且处理同一请求
 这些机器共享状态 , 并发操作
 是建立在网络之上的软件系统
 通信: 内部的每台计算机 , 都可以互相通信
 请求过程: 客户端到服务器的一次请求 , 到响应结束 , 会经历多台计算机
 它运行在不具有共享内存的多台计算机上 , 但在用户眼里它却像是一台计算机
 就是很多机器组成的集群 , 靠彼此之间的网络通信 , 担当的角色可能不同 , 共同完成同一个事情的系统

二 特点

 1 内聚性
 2 透明性

三 图解*

1 分布式文件系统

        ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200102155227137.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzY5NDQ2NQ==,size_16,color_FFFFFF,t_70)

2 分布式购物系统

        ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200102155204513.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzY5NDQ2NQ==,size_16,color_FFFFFF,t_70)

四 特征

1 分布性

   分布式系统由多台计算机组成 , 它们在地域上是分散的 , 可以散布在一个单位 , 一个城市 , 一个国家 , 甚至全球范围内
   整个系统的功能是分散在各个节点上实现的 , 因而分布式系统具有数据处理的分布性

2 自治性

    分布式系统中各个节点都包含自己的处理机和内存 , 各自具有独立的处理数据的功能 , 通常 , 彼此在低位上是平等的 , 无主次之分 , 既能自治地进行工作 , 又能利用共享的通信线路来传送信息 , 协调任务处理

3 并行性

    一个大的任务可以划分为若干个子任务 , 分别在不同的主机上执行

4 全局性

    分布式系统中必须存在一个单一的  , 全局的进程通信机制 , 使得任何一个进程都能与其他进程通信 , 并且不区分本地通信和远程通信 .
    同时 , 还因当有全局的保护机制 , 系统中所有机器上有统一的系统调用集合 , 它们必须适应分布式的环境

五 优点

1 资源共享

  若干不同的节点通过通信网络彼此互联 , 一个节点上的用户可以使用其他节点上的资源 

2 加快计算速度

  如果一个特定的计算任务可以划分为若干个并行运行的子任务 , 则可把这些子任务分散到不同的节点上 , 使它们同时在这些节点上运行 , 从而加快计算速度
  分布式系统具有计算迁移功能 , 如果某个节点上的负载太重 , 则可把其中一些作业移除到其它节点上去执行---负载平衡

3 可靠性高

  如果其中某个节点失效了 , 则其余的节点可以继续操作 , 整个系统不会因为一个或少数几个节点的故障而全体崩溃
  因此 , 分布式系统有很好的容错性能

4 通信方便 , 快捷

  分布式系统中各个节点通过一个通信网络互联在一起 , 通信网络由通信线路 , 调制解调器和通信处理器等组成 , 不同节点的用户可以方便地交换信息

六 缺点

1 可用软件不足 , 系统软件 , 编程语言 , 应用程序以及开发工具都相对很少
2 存在通信网络饱和或信息丢失和网络安全问题 , 方便的数据共享同时意味着机密数
据容易被窃取

七 应用

1 并行应用

  原则上 , 并行应用也可以在共享存储器多处理机上运行 , 但共享存储器系统不能很好的扩大规模以包括大量的处理机
 HPCC(高性能计算和通信) 应用一般需要一个可伸缩的设计 , 这种设计取决于分布式处理

2 容错应用

  因为每个PE是自治的 , 所以分布式系统更加可靠 , 一个单元或资源(软件或硬件)的故障不影响其他资源的正常功能

3 固有的应用

  许多应用是固有分布式的 , 这些应用是突发模式而非批量模式
  这些应用的性能取决于吞吐量(事务响应时间或每秒完成的事务数)而不是一般多处理机所用的执行时间

八 环境特点

1 分布性

2 并发性

   程序运行时并发性操作是很常见的 , 比如同一个分布式系统中的多个节点同时访问统一资源 , 比如数据库 , 分布式存储

3 无序性

   进程之间的消息通信会出现顺序不一致问题

九 分布式环境下存在的问题

1 网络通信问题

  网络本身不可靠

2 脑裂

  网络分区问题
  当网络发生异常导致分布式系统中的部分节点之间的网络延迟不断增大 , 最终导致分布式架构的所有节点只有部分节点能够正常通信

3 三态

  在分布式架构中除了成功 , 失败 , 还会存在超时状态

十 中心化和去中心化

1 中心化

  相当于只有一个领导 , 但是领导如果生病了怎么办 , 目前一般采用主备方案 , 包括冷备和热备
1)冷备

eg只有一个领导 , 这个领导丢失 , 则将未激活状态的人激活

2)热备
     eg 两个领导 , 一个干活 , 一个随时准备

十一 CAP定理

1 一致性

1)定义

数据在多个副本之间是否能够保持一致的特性 ; 描述当前节点存储数据的统
一模型

2)类型

(1)强一致性
描述了所有节点的数据高度一致 , 无论从哪个节点读取 , 都是一样 ; 无需担心同一时刻会获取不同数据 , 是级别最高的 , 实现的代价比较高
场景: 就好像交易系统 , 存取钱的+/-操作必须是一致的
在这里插入图片描述

(2)弱一致性
一: 单调一致性
强调数据是按照时间的新旧 , 单调向最新的数据靠近 , 不会回退
如:
数据存在三个版本v1->v2->v3,获取只能向v3靠近(如取到的
是v2,就不可能再次获得v1)
二: 最终一致性
强调数据经过一个时间窗口之后 , 只要多尝试几次 , 最终的状态是一
致的
场景: 大部分就像web互联网的模式,比如发了一条微博,改了某些配置,可能不会马上生效,但刷新几次后就可以看到了,其实弱一致性就是在系统上通过业务可接受的方式换取了一些系统的低复杂度和可用性。
在这里插入图片描述

2 可用性

     系统提供的服务必须一直处于可用状态 , 对每一个操作的请求必须在有限时间内返回结果

3 分区容错性

      分布式系统在遇到网络分区故障时 , 任然需要保证对外提供一致性和可用性的服务 , 除非整个网络都发生故障

十二 分布式存储类型

1 中心节点存储

     每个集群中有节点专门用来存储元数据 , 其他节点则存储部分数据

2 无中心节点存储

     每个集群各节点都存储元数据和部分数据

十三 分布式系统相对于独立PC机的优势

在这里插入图片描述

十四 三元组

   ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200102155044567.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzY5NDQ2NQ==,size_16,color_FFFFFF,t_70)

1 节点

     系统中按照协议完成计算工作的一个逻辑实体 , 可能是执行某些工作的进程或机器

2 网络

     系统的数据传输通道 , 用来彼此通信 , 通信是具有方向性的

3 存储

     系统中持久化数据的数据库或者文件存储

十五 状态特性

1 节点的状态

1)无状态
一般认为 , 节点是偏计算和通信的模块 , 一般是无状态的 , 这类应用一般不会存储自己的中间状态信息 , 比如Nginx , 一般情况下是转发请求而已 , 不会存储中间信息
是可以随意重启的 , 因为重启后只需要立刻工作就好
一般可以随意扩展
2)有状态
如”mysql”等数据库 , 状态和数据全部持久化到磁盘等介质中
需要先读取持久化的数据 , 才能开始服务
需要一些控制协议来保证扩展

十六 异常

1 节点异常

      节点因为某种原因不能工作

2 网络异常

      因为网络原因 , 临时 , 永久不能被其他节点所访问
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值