DCFramework 动态分布式计算框架(01)-- 基础结构
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)-- 基础结构相关推荐
- ZeroMQ学习笔记(8)——分布式计算框架
第八章 分布式计算框架 当使用zmq和其他技术构建产品时,会面临这些产品在现实世界中工作的问题."现实世界"正在变成一个越来越多的移动部件的世界.我们的全球计算能力每两年就会翻一番 ...
- 139.深度学习分布式计算框架-2
139.1 Spark MLllib MLlib(Machine Learnig lib) 是Spark对常用的机器学习算法的实现库,同时包括相关的测试和数据生成器. MLlib是MLBase一部分, ...
- 人机交互系统(2.1)——深度学习分布式计算框架
1 为什么需要分布式计算? 在这个数据爆炸的时代,产生的数据量不断地在攀升,从GB,TB,PB到ZB.挖掘其中数据的价值也是企业在不断地追求的终极目标.但是要想对海量的数据进行挖掘,首先要考虑的就是海 ...
- Ray - 面向增强学习场景的分布式计算框架
如果关注这个领域的同学可能知道,Ray其实在去年就已经在开源社区正式发布了,只不过后来就一直没有什么太大动静,前段时间也是因为机缘巧合,我又回头学习了解了一下,顺便总结如下: Ray是什么? Ray ...
- 分布式计算框架Hadoop核心组件
Hadoop作为成熟的分布式计算框架在大数据生态领域已经使用多年,本文简要介绍Hadoop的核心组件MapReduce.YARN和HDFS,以加深了解. 1.Hadoop基本介绍 Hadoop是分布式 ...
- 分布式计算框架Hadoop核心组件概述
Hadoop作为成熟的分布式计算框架在大数据生态领域已经使用多年,本文简要介绍Hadoop的核心组件MapReduce.YARN和HDFS,以加深了解. 1.Hadoop基本介绍 Hadoop是分布式 ...
- Hadoop技术(二)资源管理器YARN和分布式计算框架MapReduce
资源管理器YARN和分布式计算框架MapReduce 第一章 Hadoop MapReduce 是什么 一 MapReduce 介绍 1. 基本介绍 2. MR数据流程方向 3. MR 原语/ 核心思 ...
- 分布式计算框架(一)介绍
大学时光飞逝,转眼就到大四.毕业设计作为在大学编写的最后一个程序必须精益求精.在刚开始选题时,我并没有想写分布式计算框架,只是想试试N皇后算法如何分布式计算,结果随着版本的迭代变成了分布式计算框架. ...
- MapReduce分布式计算框架的优缺点
MapReduce是一个可用于大规模数据处理的分布式计算框架,它借助函数式编程及分而治之的设计思想,使编程人员在即使不会分布式编程的情况下,也能够轻松地编写分布式应用程序并运行在分布式系统之上. 一. ...
最新文章
- android 启动白屏_为什么说Android 架构的未来是 MVVM?
- UIButton设置 textAlignment 属性的方法
- SpringBoot各类型参数解析原理(源码)
- android的armeabi和armeabi-v7a
- Scss、elementUI引入、transition动画 - 学习笔记
- Ubuntu 12.10中的8个新功能,Quantal Quetzal
- count返回0_MySQL实战 | 14 为什么count(*)越来越慢?
- Hadoop环境 IDE配置(在eclipse中安装hadoop-eclipse-plugin-2.7.3.jar插件)
- 真香!腾讯再发阳光普照奖:每人100股,价值超6万!
- php网上实训指导书,PHP网站开发技术-实训指导书2016吐血制作
- Selenium常见异常分析及解决方案
- 控制input输入框光标的位置
- air 打开外部exe,bat文件的方法
- linux 1394驱动下载,1394驱动
- 活动单导学计算机课,教学中“活动单导学”教学模式的反思
- vue同一项目搭建PC端和移动端
- 餐饮服务设备行业的互联网趋势
- VC写的双人版俄罗斯方块
- 推荐三个开发C程序的工具(适用各种场合)
- 五十分钟带你看遍C语言初阶语法(总纲)