OPener_Server輕 Http 容器標準
Opener_Server 是一個輕 Http 容器標準。 具體來說:以 Http Server 作為底層架構(gòu),以異步非阻塞模式為主要思想,通過 Http POST 模式構(gòu)建一個可注入代碼的容器,新注入的代碼碼依靠腳本語言內(nèi)置的 EVAL 方法來執(zhí)行。
主要特點:
-
編程思想:異步非阻塞模式貫穿程序。 Http server 是異步非阻塞模式,為了保證不與這個沖突,所有的注入代碼均為異步非阻塞模式的實現(xiàn)。本容器作為以后的最小運行單元,保證異步非阻塞模式,可以方便大規(guī)模部署。
-
注入代碼:現(xiàn)階段通過腳本語言的內(nèi)置函數(shù)來實現(xiàn)。例如 perl 的 eval{};函數(shù) , 同樣具有這個特性的語言還有 python 、 javascript 、 php....
-
原則上,每個容器應(yīng)用為了不與其他容器應(yīng)用程序沖突,都應(yīng)該啟動一個新的進程。這個新的進程就是一個空容器,然后通過注入代碼來實現(xiàn)其他應(yīng)用。
-
初始容器默認使用 https 協(xié)議的 10008 端口作為管理端口。通常情況下第一個容器進程使用該默認管理端口,作為所有其他應(yīng)用進程的管理進程。通過這個管理進程,可以實現(xiàn)啟動其他應(yīng)用的進程。
-
每一個啟動的容器進程初始情況下是完全相同,不同的地方只有管理端口號是不同。
-
每個新的進程都有一個新的管理端口。原則上是 11008 往后的端口號,具體的端口號自己設(shè)定。我們未來會出一份列表,詳細列出 10008-11008 之間的端口號的官方定義應(yīng)用。
-
在管理端口上,會包含一些基本的 http api ,這些 http api 構(gòu)成了 Opener_Server 標準的大部分。
-
標準實現(xiàn)的程序內(nèi)部全部都是可替換指針函數(shù)。正常情況下,在任何時候,都可以熱更換每一個函數(shù)。
-
任何時候你也可以通過 http 實時查看程序內(nèi)部的運行情況,包含內(nèi)部變量的情況、錯誤輸出等等
