首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

MiDis分布式处置框架

2012-10-26 
MiDis分布式处理框架demo说明midis是一个基于组播的分布式协同处理的框架。在midis分布式环境中,始终存在一

MiDis分布式处理框架
demo说明

midis是一个基于组播的分布式协同处理的框架。在midis分布式环境中,始终存在一个coordinator调度者发送任务数据。coordinator是唯

一的目前版本,同事存在worker来处理基于分布式发送过来的数据mission,当一个coordinator crash down掉后,会选择一个worker转换

角色为coordinator,继续维护原coordinator进行的工作。当一个worker crash down掉后,coordinator 会根据当前context的状况,将发

context状态,选择将送到worker的任务mission进行重传、放弃等操作。 额。。

1.首先解释midis运行过程中,涉及到的几个基本的组件。

   基本组件:
  
   mission (任务)

   midis框架运行过程中,发送的基本数据单元。

  
   coordinator(调度者)
  
   midis框架中,负责发送mission,以及维护worker,mission运行机制的调度单元。

   worker(农民)

   midis框架中,负责接受mission,以及处理mission,返回结果的处理单元。

  
   Domain (领域)
  
   midis框架在组件分布式网络时,创建的虚拟区域,可以理解为组,里面注册了分布的Node

   Node (节点)
  
   midis分布式框架逻辑上的处理单元,即一个PC处理机。

   。。。(还有吧)


2. demo

  演示最基本的分布式处理功能,以分布式文件处理为例子。在该demo中,设定一个文件路径.里面放置挺多files

  

  建立midis网络。注册cooridnator,worker等组件。

  run.

3. 解释

  coordinator  始终维护一个空闲worker的队列,以及一个mission的队列。

  当有空闲worker时,以及有mission等待处理。

  会trigger一次distribute.

  OK,就到这里。

4.来个代码片段

package com.primenetwork.framework.midis.demo.alphabet;import com.primenetwork.framework.midis.core.Domain;import com.primenetwork.framework.midis.core.MiDisDomain;import com.primenetwork.framework.midis.core.Node;public class EntryPoint {public static void main(String[] args) {/** * build domain */Domain domain = MiDisDomain.buildDomainXML("config/midis.cfg.xml");/** * build node. */Node node = domain.buildNode("PC1");/** * add coordinator.which will distribute mission into the domain. */node.addCoordinator(new AlphabetCoordinator());/** * add worker.to handle mission. */node.addWorker(new AlphabetWorker());/** * add reduce handler. */node.addReduceHandler(new MyReduceHandler());node.start();}}




热点排行