what is openresty

简介

openresty 是基于nginx实现的 web服务端开发平台,它的核心是基于nginx的一个c模块(lua-nginx-module),该模块将LuaJIT集成嵌入到nginx服务器,并对外提供一套完整的lua api;openresty 通过该模块可以使用lua语言构建web服务,并且可以天然的利用nginx的非阻塞支持高并发的能力。

三大特性

详尽的文档和测试用例

文档详细?我咋没感觉详细,可能是英文太差吧,之前能唯一参考的就是官方文档,然后就是能搜到的邮件的list

每一个测试案例都包含完整的 NGINX 配置和 Lua 代码,以及测试的输入数据和预期的输出数据 ,不知道没看过

同步非阻塞

同步是指按代码顺序串行执行

local res, err = query-mysql(sql)

local value, err = query-redis(key)

执行query-mysql方法,mysql 服务器进行了查询(这个期间,调用方处于等待状态),并返回了数据,query-mysql方法得到了返回数据,然后再执行query-redis方法

与同步对应的是异步,异步执行方法,并不等待数据的返回,可能的方式是持有一个结果的句柄(类似future),然后继续向下执行其他的方法

非阻塞是指线程在等待的过程中会让出CPU时间片,供其他的线程使用,而阻塞是指即使线程处于等待状态仍然持有CPU时间片,其他线程不能利用这个空闲的CPU时间片;非阻塞并不会减少处理的时间,但是会减少等待的时间

动态

使用lua脚本编写,天生的动态优势,修改完业务逻辑,上线无需重启只需要重新加载一下即可。


---------------------------------------跟进跟进,加油!------------------------------------------------

你可能感兴趣的:(what is openresty)