OpenResty 是把 Nginx 和 Lua 有机融合在一起的高性能 Web 平台,对 OpenResty的技术链、近一年以来的新增特性、社区的发展以及未来的规划进了分享。
那么,OpenResty 是一个什么东西呢?简单来说,它不像 Golang 一样,是凭空从零搭建的,而是把 Nginx 和 Lua 有机融合在一起,站在两位巨人肩膀上诞生的。特别有意思的是,我们平常用到的绝大部分的互联网技术都是基于欧美的,但是这三个技术,Nginx 是俄罗斯的,Lua 的作者是巴西的,OpenResty 的作者是中国的。
OpenResty 的好处是什么呢?说白了就是可以用脚本语言,用 Lua 来控制 Nginx 的行为。就比如说刚才魅族的于讲师有讲到他们用C++去做控制,要自己实现协程,但是在 OpenResty 里面,它像 Golang 一样天生就有协程。还有一个好处是,OpenResty 所有的参数和行为都可以在程序里面动态的去做,完全不用重启和reload,因为它是基于 Nginx 之上的,性能非常高。所以如果你有一个高性能的场景,除了 Golang 之外,OpenResty 也是很好的选择。
在说到 OpenResty 时,更多人可能听说过的是 ngx_lua。这其实也是有历史原因的,因为有很多项目是在原生的 Nginx 版本里面嵌入了 ngx_lua 这个模块,来做到刚才说的动态控制。但事实上,ngx_lua 只是 OpenResty 里面的一小部分。OpenResty 这个开源项目下面有50多个小项目,都是和OpenResty、Nginx、Lua相关的。
文章转载自 开源中国社区 [http://www.oschina.net]
时间: 2024-09-13 12:27:01