大名鼎鼎的nginx,以高性能著称,号称能够抗下单机数万并发,想必也不用过多介绍了。
在Nginx基础上,还有两款产品:Tengine & OpenResy:
Tengine:
由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。
OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关,从而将 Nginx 有效地变成一个强大的通用 Web 应用平台。
既然都是基于Nginx,同等条件下在性能方面自然是差异不大的,那么,Tengine和OpenResty跟Nginx的差别到底在哪里呢!?
首先从模块方面做个对比
绿色为Nginx共有模块,橙色为Tengine模块,紫色为OpenResty模块
从表格中显而易见,OpenResty的模块要比前两者多得多,虽然它基于 Nginx 实现,但其适用范围,早已远远超出反向代理和负载均衡。
强在哪里?
它的核心是基于 Nginx 的一个 C 模块(lua-nginx-module),该模块将 LuaJIT 嵌入到 Nginx 服务器中,并对外提供一套完整的 Lua API。
我们可以用 Lua 语言来进行字符串和数值运算、查询数据库、发送 HTTP 请求、执行定时任务、调用外部命令等,还可以用 FFI 的方式调用外部 C 函数。这基本上可以满足服务端开发需要的所有功能。
很多的OpenResty 使用者,都把 OpenResty 用在 API 网关的开发上。如Orange、Kong、APISIX,他们都是实时、高性能的 API 网关,提供负载均衡、动态上游、灰度发布、服务熔断、身份认证、可观测性等丰富的流量管理功能。
github.com/openresty/o…
github.com/apache/apis…
更新频率
Nginx--持续更新
OpenResty--紧跟Nginx步伐
Tengine--这是不再维护的节奏呀
最新版本的Tengine-2.3.2基于Nginx-1.17.3。
OpenResty更新迭代非常快,跟nginx也非常紧,社区庞大,一大堆优秀的人在推,支持新的内容也快,使用起来比较放心。
所以,个人最推荐OpenResty,
不知各位会把手中的选票投给谁呢!
作者:zx_____
链接:https://juejin.cn/post/6918044485586780173