主从设备模式

主从设备模式也叫做主仆模式英文简称为(Master-Slave),由两方组成;主设备和从设备。主设备组件在相同的从设备组件中分配工作,并计算最终结果,这些结果是由从设备返回的结果。核心思想是基于分而治之的思想,将一个原始任务分解为若干个语义等同的子任务,并由专门的工作者线程来并行执行这些任务,原始任务的结果是通过整合各个子任务的处理结果形成的.

评价:提高计算效率,又实现了信息隐藏。 

使用场景

在数据库复制中,主数据库被认为是权威的来源,并且要与之同步
在计算机系统中与总线连接的外围设备(主和从驱动器)

并行计算,以提升计算性能

容错处理,以提升计算的可靠性

计算精度,以提高计算的精确程度

收集子任务处理结果的2种方法: 
1)Master和Slave使用同一个存储仓库 
2)使用Future模式 
可靠性与异常处理: 
可以捕获子任务异常,可以考虑由其自身重新执行处理失败的子任务,即在客户端线程执行。

在分布式的系统中,这个模式还是比较常用的,简单的说,主从(Master-Slave)进程-线程的关系类似,Master只有一台机器作为Master,其他机器作为Slave,这些机器同时运行组成了集群.Master作为任务调度者,给多个Slave分配计算任务,当所有的Slave将任务完成之后,最后由Master汇集结果,这个其实也是MapReduce思想所在。

例如在Hadoop中,HDFS采用了基于Master/Slave主从架构的分布式文件系统,一个HDFS集群包含一个单独的Master节点和多个Slave节点服务器,这里的一个单独的Master节点的含义是HDFS系统中只存在一个逻辑上的Master组件。一个逻辑的Master节点可以包括两台物理主机,即两台Master服务器、多台Slave服务器。一台Master服务器组成单NameNode集群,两台Master服务器组成双NameNode集群,并且同时被多个客户端访问,所有的这些机器通常都是普通的Linux机器,运行着用户级别(user-level)的服务进程.

 

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

优点:准确性——将服务的执行委托给不同的从设备,具有不同的实现。

缺点:从设备是孤立的:没有共享的状态。主-从通信中的延迟可能是一个问题,例如在实时系统中。这种模式只能应用于可以分解的问题。

猜你喜欢

转载自www.cnblogs.com/bai123/p/9070312.html