- OpenResty完全開發指南:構建百萬級別并發的Web應用
- 羅劍鋒
- 425字
- 2019-07-25 11:55:05
1.12 應用架構
OpenResty功能豐富、開發簡單而且性能極高,處理靜態內容或動態內容都很擅長,所以在大中型應用系統中能夠扮演多種角色,勝任多種工作,是不折不扣的“多面手”。
一個典型的以OpenResty為核心的應用系統架構如圖1-4所示:

圖1-4 以OpenResty為核心的應用系統架構
由于OpenResty具有優秀的反向代理功能,以及負載均衡、內容緩沖、安全防護等高級特性,所以最常見的用法是部署在網站架構的最前端,作為流量的總入口,提高系統的整體穩定性和可靠性。
OpenResty內嵌方便快捷的Lua腳本,完全能夠取代PHP、Python、Ruby來編寫應用服務,把業務邏輯跑在高性能的Nginx里,去掉不必要的中間環節直接操作Redis、MySQL等數據庫,減少內部的網絡消耗,節約系統資源。
如果系統里已經存在了大量其他語言實現的應用服務,改造起來有困難甚至不可行,OpenResty也可以充當API Gateway,以RESTful接口為基礎聚合整理各種后端服務,并增加監控、緩存、權限控制等功能,改善系統的運行效率。
總之,OpenResty提供了多種多樣的功能,靈活可適配,我們總能夠在新系統或舊系統中找到它的合適位置,發揮出它的應有價值。