学习OpenResty Ngx Lua
2017-08-26 本文已影响294人
一路有你_SJQ
OpenResty介绍
OpenResty是一个基于Nginx与Lua的框架,包含一些常用的组件,这个框架主要是用来开发WebServer。
实现的原理是在Nginx中加入了Lua脚本语言,并且开发了Ngx库,可以让Lua脚本直接运行在Nginx中,Lua可直接嵌入到nginx的配置文件中,也可以在nginx配置文件中添加独立的.lua文件路径进行运行
中文网站 https://openresty.org/cn/
为什么要学习这个东东
- 高性能,Lua借助LuaJIT解释器 ,执行代码速度极快,比php7还要高的性能,比go更好调试,比node回调更少
- Nginx ,低开销,高性能
- 国内大公司都在用,京东、360等
- 跨平台,可以在windows系统下开发,在linux系统上部署
- 开源
学习进度
在网上找了一些资料:
分享一下:
- http://www.stuq.org/course/1015/study 奇虎360服务端架构师 温铭 主讲的 OpenResty入门
- https://openresty.org/cn/events.html 中文官网
- http://wiki.jikexueyuan.com/project/openresty/ 《OpenResty 最佳实践》
接下去会使用该技术开发 “在线考试系统”
在线考试系统:
- 需要实现 一台1核1G内存的阿里云linux系统服务器2M带宽,带动近千名考生同时
在线实时 答题、交卷、评分、生成考生名单分数等操作。 - 之前使用php开发,基本能跑,客户端进行错时优化,10秒同步等措施,能带动
- 实际上当时为了方便,也是为了能够下载原始数据,数据库选择了sqlite,当时测试 php循环写入数据,不使用事务提交,每秒只能写入8条数据,所以数据库也做了优化,每个考场使用一个数据库
- 接下去准备使用高性能的方式去做
- 实际上再加一点配置,这套考试系统的能承载更多的在线人数,不过么,技术就是在不断尝试中才能提升的,嘿嘿