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

DCFramwork是一个由四个核心dll组成的动态分布式计算框架,通过DCMasterNode管理和分发任务到DCWorkerNode,支持客户端便捷地执行分布式任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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)-- 序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值