DCFramework 動態分散式運算架構(01)-- 基礎結構

來源:互聯網
上載者:User

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

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.