OpenResty完全开发指南:构建百万级别并发的Web应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.12 应用架构

OpenResty功能丰富、开发简单而且性能极高,处理静态内容或动态内容都很擅长,所以在大中型应用系统中能够扮演多种角色,胜任多种工作,是不折不扣的“多面手”。

一个典型的以OpenResty为核心的应用系统架构如图1-4所示:

图1-4 以OpenResty为核心的应用系统架构

由于OpenResty具有优秀的反向代理功能,以及负载均衡、内容缓冲、安全防护等高级特性,所以最常见的用法是部署在网站架构的最前端,作为流量的总入口,提高系统的整体稳定性和可靠性。

OpenResty内嵌方便快捷的Lua脚本,完全能够取代PHP、Python、Ruby来编写应用服务,把业务逻辑跑在高性能的Nginx里,去掉不必要的中间环节直接操作Redis、MySQL等数据库,减少内部的网络消耗,节约系统资源。

如果系统里已经存在了大量其他语言实现的应用服务,改造起来有困难甚至不可行,OpenResty也可以充当API Gateway,以RESTful接口为基础聚合整理各种后端服务,并增加监控、缓存、权限控制等功能,改善系统的运行效率。

总之,OpenResty提供了多种多样的功能,灵活可适配,我们总能够在新系统或旧系统中找到它的合适位置,发挥出它的应有价值。