NGINX Unit 1.19.0 已釋出,更新內容除了常規的 bugfix 和增加新特性外,還引入了一些具有突破性的改進 —— 集中在程序間通訊(inter-process communication, IPC)方面。
開發團隊表示,關於改進 IPC 的最初想法是避免在程序之間複製資料,並儘量減少開銷,以實現幾乎零延遲的應用互動,接著他們使用了一種複雜的演算法實現此協議,以在程序之間分發請求。後來通過繼續增強協議的功能,使得重負載下的系統呼叫次數幾乎為零。
在分發方面,團隊還對請求的分發語義進行了改進。現在,他們不再使用複雜的路由器程序演算法將請求推送給應用程序,而是讓應用程序隨時從共享佇列中拉取請求。這樣就能以最有效的方式在應用中實現非同步介面。
通過使用新的 IPC 方法,團隊能夠改進在即將釋出的版本中 Go 和 Node.js 模組的效能,同時引入多執行緒和新介面,如 Python 中的 ASGI。
至於該版本的其他功能,在代理方面有了改進:使用 HTTP/1.1,並接受來自後端的 chunked 編碼格式響應。
此外,請求的匹配規則也進行了升級,可以使用更復雜的萬用字元模式,比如"*/some/*/path/*.php*"。
最後,此版本還引入了首個配置變數,再過一段時間,變數將變得充分多樣化,並將在越來越多的地方提供使用。
詳情更新內容檢視釋出公告。
NGINX Unit 是用於各種 Web 應用程式的輕量動態開源伺服器。NGINX Unit 從頭開始構建,可以一次執行多種語言版本的 Web 應用程式,它也可以在執行時完全配置為零中斷,從而可以對工程和操作進行實時粒度管理。
[admin
]