DCFramwork框架主要由四个核心的dll构成:DCFramework.dll、DCFramework.Master.dll、DCFramework.Worker.dll、DCFramework.Client.dll。

从图中我们看到,另外三个dll都依赖于最基础的DCFramework.dll,这个三个dll除了依赖DCFramework.dll外,相互之间没有任何依赖关系。

DCFramework.dll提供了DCF框架需要用到的基础和公共的类型定义,比如分布式任务DCTask,分布式计算节点WorkerNode,以及DC Master发布给Client使用的服务接口IDCService和发布给分布式计算节点使用的动态注册/注销服务接口IWorkerRegistryService,另外还有DC Worker给DC Master回调的接口IWorkerService。这些类型的定义如下图所示:

DCFramework.Master.dll是DC Master Node使用的核心程序集,其中包含三个主要的类:DCMaster类用于管理所有注册的DC Woker Node,并负责分发分布式任务到某个DC Woker Node上;DCService是DC Master Node发布给Client使用的服务;而WorkerRegistryService是DC Master Node发布给DC Woker Node使用的服务。其类图如下:

DCFramework.Worker.dll是DC Worker Node使用的核心程序集,其中主要的类型定义有:DCAppDomain用于封装AppDomain,使分布式计算任务可以再一个独立的AppDomain中运行;DCJobWorker是真正执行分布式计算任务的"工作者",它可以在目标DCAppDomain或临时创建的DCAppDomain中执行任务。DCAppDomainManager用于管理所有非临时的DCAppDomain对象,并负责分布式任务的分派调用。关于临时与非临时的DCAppDomain对象,会在后续文章中详细介绍。

DCFramework.Client.dll是给客户使用的程序集,客户借助DCFramework.Client.dll可以非常方便的使用已经部署好的DCF框架实例来执行自己的分布式任务。DCFramework.Client.dll中最核心的类是DCJobDispatcher,正如前文介绍的,DCJobDispatcher 会自动Remoting连接到DC Master Node,并将分布式计算任务封装为一个DCTask,然后将DCTask提交给DC Master。这一切都是DCJobDispatcher在后台自动帮你完成的,你所需要做的只是提交任务,然后等待返回结果,如此而已。其类图如下所示:

本文只是对DCFramework基本结构进行了简单介绍,DCFramework的实现比上述的描述要复杂许多,在后续的文章中,我们会详细地深入到每一个部分去。

最后给出一个使用DCFramework的完整Demo的源码,包括Master、Worker、Client。你可以先运行起来看看动态分布式计算的效果,我会在下一篇文章中对这个Demo的做详细的解释。

欢迎讨论,谢谢。

转到:DCFramework 动态分布式计算框架(00)-- 序 

DCFramework 动态分布式计算框架(01)-- 基础结构相关推荐

  1. ZeroMQ学习笔记(8)——分布式计算框架

    第八章 分布式计算框架 当使用zmq和其他技术构建产品时,会面临这些产品在现实世界中工作的问题."现实世界"正在变成一个越来越多的移动部件的世界.我们的全球计算能力每两年就会翻一番 ...

  2. 139.深度学习分布式计算框架-2

    139.1 Spark MLllib MLlib(Machine Learnig lib) 是Spark对常用的机器学习算法的实现库,同时包括相关的测试和数据生成器. MLlib是MLBase一部分, ...

  3. 人机交互系统(2.1)——深度学习分布式计算框架

    1 为什么需要分布式计算? 在这个数据爆炸的时代,产生的数据量不断地在攀升,从GB,TB,PB到ZB.挖掘其中数据的价值也是企业在不断地追求的终极目标.但是要想对海量的数据进行挖掘,首先要考虑的就是海 ...

  4. Ray - 面向增强学习场景的分布式计算框架

    如果关注这个领域的同学可能知道,Ray其实在去年就已经在开源社区正式发布了,只不过后来就一直没有什么太大动静,前段时间也是因为机缘巧合,我又回头学习了解了一下,顺便总结如下: Ray是什么? Ray ...

  5. 分布式计算框架Hadoop核心组件

    Hadoop作为成熟的分布式计算框架在大数据生态领域已经使用多年,本文简要介绍Hadoop的核心组件MapReduce.YARN和HDFS,以加深了解. 1.Hadoop基本介绍 Hadoop是分布式 ...

  6. 分布式计算框架Hadoop核心组件概述

    Hadoop作为成熟的分布式计算框架在大数据生态领域已经使用多年,本文简要介绍Hadoop的核心组件MapReduce.YARN和HDFS,以加深了解. 1.Hadoop基本介绍 Hadoop是分布式 ...

  7. Hadoop技术(二)资源管理器YARN和分布式计算框架MapReduce

    资源管理器YARN和分布式计算框架MapReduce 第一章 Hadoop MapReduce 是什么 一 MapReduce 介绍 1. 基本介绍 2. MR数据流程方向 3. MR 原语/ 核心思 ...

  8. 分布式计算框架(一)介绍

    大学时光飞逝,转眼就到大四.毕业设计作为在大学编写的最后一个程序必须精益求精.在刚开始选题时,我并没有想写分布式计算框架,只是想试试N皇后算法如何分布式计算,结果随着版本的迭代变成了分布式计算框架. ...

  9. MapReduce分布式计算框架的优缺点

    MapReduce是一个可用于大规模数据处理的分布式计算框架,它借助函数式编程及分而治之的设计思想,使编程人员在即使不会分布式编程的情况下,也能够轻松地编写分布式应用程序并运行在分布式系统之上. 一. ...

最新文章

  1. android 启动白屏_为什么说Android 架构的未来是 MVVM?
  2. UIButton设置 textAlignment 属性的方法
  3. SpringBoot各类型参数解析原理(源码)
  4. android的armeabi和armeabi-v7a
  5. Scss、elementUI引入、transition动画 - 学习笔记
  6. Ubuntu 12.10中的8个新功能,Quantal Quetzal
  7. count返回0_MySQL实战 | 14 为什么count(*)越来越慢?
  8. Hadoop环境 IDE配置(在eclipse中安装hadoop-eclipse-plugin-2.7.3.jar插件)
  9. 真香!腾讯再发阳光普照奖:每人100股,价值超6万!
  10. php网上实训指导书,PHP网站开发技术-实训指导书2016吐血制作
  11. Selenium常见异常分析及解决方案
  12. 控制input输入框光标的位置
  13. air 打开外部exe,bat文件的方法
  14. linux 1394驱动下载,1394驱动
  15. 活动单导学计算机课,教学中“活动单导学”教学模式的反思
  16. vue同一项目搭建PC端和移动端
  17. 餐饮服务设备行业的互联网趋势
  18. VC写的双人版俄罗斯方块
  19. 推荐三个开发C程序的工具(适用各种场合)
  20. 五十分钟带你看遍C语言初阶语法(总纲)

热门文章

  1. lvs + keepalive的安装配置
  2. iOS - - JSON 和 XML解析
  3. trie树和后缀树的应用
  4. win2K/win2003终端服务器超出最大允许连接数
  5. 刚刚!阿里云宣布2021要“做厚中台”!有哪些书值得读?
  6. 从用户不足2000万到27亿,这项技术真要上天了?
  7. 马云:未来10年,人类将面临AI、IoT和区块链3大挑战!(视频+全文)
  8. python怎么创建函数_Python创建与调用函数
  9. session、token、jwt、oauth2 傻傻分不清
  10. docker安装nacos步骤