理解主从设备模式(Master-Slave)

前言

在给定上下文的软件体系结构中,为了解决某些常常出现的问题而造成的通用且可重用的解决方案称之为架构模式,而常见的体系架构模式主要有如下十种html

  • 分层模式
  • 客户端-服务器模式
  • 主从设备模式
  • 管道-过滤器模式
  • 代理模式
  • 点对点模式
  • 事件总线模式
  • 模型-视图-控制器模式
  • 黑板模式
  • 解释器模式

而下面我将详细介绍主从设备模式的概念,以及它的用法、在实际中常见的应用场景和优缺点等服务器

主从设备模式

主从设备模式也叫作主仆模式英文简称为Master-Slave,核心思想是基于分而治之的思想,将一个原始任务分解为若干个语义等同的子任务,并由专门的工做者线程来并行执行这些任务,原始任务的结果是经过整合各个子任务的处理结果造成的.主要的使用场景有架构

  • 并行计算,以提高计算性能
  • 容错处理,以提高计算的可靠性
  • 计算精度,以提升计算的精确程度

并行计算下模式举例

在分布式的系统中,这个模式仍是比较经常使用的,简单的说,主从(Master-Slave)进程-线程的关系相似,Master只有一台机器做为Master,其余机器做为Slave,这些机器同时运行组成了集群.Master做为任务调度者,给多个Slave分配计算任务,当全部的Slave将任务完成以后,最后由Master聚集结果,这个其实也是MapReduce思想所在.
mark
例如在Hadoop中,HDFS采用了基于Master/Slave主从架构的分布式文件系统,一个HDFS集群包含一个单独的Master节点和多个Slave节点服务器,这里的一个单独的Master节点的含义是HDFS系统中只存在一个逻辑上的Master组件。一个逻辑的Master节点能够包括两台物理主机,即两台Master服务器、多台Slave服务器。一台Master服务器组成单NameNode集群,两台Master服务器组成双NameNode集群,而且同时被多个客户端访问,全部的这些机器一般都是普通的Linux机器,运行着用户级别(user-level)的服务进程.oracle

在上图中展现了 HDFS 的 NameNode , DataNode 以及客户端之间的存取访问关系, NameNode 做为 Master 服务,它负责管理文件系统的命名空间和客户端对文件的访问。NameNode会保存文件系统的具体信息,包括文件信息、文件被分割成具体block块的信息、以及每个block块归属的DataNode的信息。对于整个集群来讲,HDFS经过NameNode对用户提供了一个单一的命名空间。DataNode做为slave服务,在集群中能够存在多个。一般每个DataNode都对应于一个物理节点。DataNode负责管理节点上它们拥有的存储,它将存储划分为多个block块,管理block块信息,同时周期性的将其全部的block块信息发送给NameNode分布式

优缺点

  • 优势:准确性——将服务的执行委托给不一样的从设备,具备不一样的实现。
  • 缺点:从设备是孤立的,没有共享的状态。主-从通讯中的延迟多是一个问题,例如在实时系统中。这种模式只能应用于能够分解的问题。

参考

相关文章
相关标签/搜索