網關技術選型?
gRPC必須使用 HTTP/2 傳輸數據,支持明文和TLS加密數據,支持流數據的交互。充分利用 HTTP/2 連接的多路復用和流式特性。
技術選型
1、最早計劃采用Netty來做,但由于gRPC的proto模板不是我們定義的,所以解析成本很高,另外還要讀取請求Header中的數據,開發難度較大,所以這個便作為了備選方案。
2、另一種改變思路,往反向代理框架方向尋找,重新回到主流的nginx這條線,但是nginx采用C語言開發,如果是基于常規的負載均衡策略轉發請求,倒是沒什么大的問題。但是,我們內部有依賴任務資源關系,也間接決定著要依賴外部的存儲系統。
Nginx適合處理靜態內容,做一個靜態web服務器,但我們又看重其高性能,最后我們選型 Openresty
OpenResty? 是一個基于 Nginx 與 Lua 的高性能 Web 平臺,其內部集成了大量精良的 Lua 庫、第三方模塊以及大多數的依賴項。用于方便地搭建能夠處理超高并發、擴展性極高的動態 Web 應用、Web 服務和動態網關。
上一篇戰術小隊怎么買劃算