skynet記錄7:第一個服務logger和第二個服務bootstrap

 

 

(1)logger是skynet_context_new建立:skynet_context及mq,模塊create和initbootstrap

(2)bootstrap啓動過程:snlua時一個lua的so,對應的snlua_create建立服務也就是一個lua虛擬機,snlua_init發消息給本身初始化調用bootstrap.lua,lua

snlua對應的服務收到消息後service_snlua.c/init_cb() 會執行loader.lua,能夠認爲它什麼也沒作,裏面直接調用bootstrap.luaspa

bootstrap是c語言建立的服務,此後更多的服務有lua建立,雖然沒有跟蹤過程,但猜想其實現也應該是對snlua的包裝。虛擬機

(3)bootstrap.lua代碼分析:it

 裏面又啓動了launcher.lua服務(最後bootstrap服務會退出,但launcher服務不退出,它管理全部的本地服務)ast

而後又啓動了cmaster,cslave,datacenterd,service_mgr四個服務,都在service文件夾下,(cslave會啓動harbor服務),service

而後又啓動了example/main.lua服務語言

 

稍後填坑loader

相關文章
相關標籤/搜索