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)-- 基础结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CMS 站点可能发生稳定性和性能问题
- 下一篇: 如何获取独立项目开发经验