本篇文章為大家展示了如何進行Worker中Executor啟動過程源碼分析,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
成都創(chuàng)新互聯(lián)憑借專業(yè)的設(shè)計團隊扎實的技術(shù)支持、優(yōu)質(zhì)高效的服務意識和豐厚的資源優(yōu)勢,提供專業(yè)的網(wǎng)站策劃、網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、網(wǎng)站優(yōu)化、軟件開發(fā)、網(wǎng)站改版等服務,在成都10多年的網(wǎng)站建設(shè)設(shè)計經(jīng)驗,為成都近千家中小型企業(yè)策劃設(shè)計了網(wǎng)站。
進入Worker類源碼:
可以看出Worker本身是Akka中的一個Actor。
進入Worker類的LaunchExecutor:
從源代碼可以看出Worker節(jié)點上要分配CPU和Memory給新的Executor,首先需要創(chuàng)建一個ExecutorRunner:
ExecutorRunner是用于維護executor進程的:
1、進入ExecutorRunner 的start方法:
2、進入 master ! ExecutorStateChanged(appId, execId, manager.state, None, None)方法:
發(fā)送消息給Master:
我們再回到到launchExecutor方法:
上面代碼利用Akka 發(fā)送ExecutorStateChanged方法給Master
進入 Master 的ExecutorStateChanged方法:
PS:感覺代碼分析的有點亂,不是很理想,希望大家知道,謝謝
進入Worker類的LaunchExecutor:
1、進入ExecutorRunner 的start方法:
上述內(nèi)容就是如何進行Worker中Executor啟動過程源碼分析,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。