OpenResty
- OpenResty 由 Nginx 核心加很多第三方模块组成,默认集成了 Lua 开发环境,使得开发人员可以使用 nginx_lua 开发 Nginx,使 Nginx 可以变成一个可以支持多功能的 Web Server;
- OpenResty 借助 Nginx 的事件驱动模型和非阻塞 IO(epoll),可以实现高性能的 Web 应用程序;
- OpenResty 提供了大量组件,如 MySQL、Redis、Memcached、MangoDB 等的客户端,使在 Nginx 上开发 Web 应用更加方便;其实业务逻辑用哪种语言都可以写,难的是和各种中间件的交互,有了封装好的中间件的客户端,业务开发就很容易了;但是如果要做复杂的多态、继承等面向对象的复杂系统,比如秒杀系统的 ItemModel、ItemVO 这样的,用 Lua 开发就不太合适;
OpenResty Hello World
ngx.exec("/item/get?id=6");
location /helloworld {
content_by_lua_file ../lua/helloworld.lua;
}
sudo sbin/nginx -s reload
{
"status": "success",
"data": {
"id": 1,
"title": "聚焦Java性能优化 打造亿级流量秒杀系统(附赠秒杀项目)",
"price": 366,
"stock": 98,
"description": "打破秒杀项目性能提升的多重瓶颈 多种硬核技术实现全面优化",
"sales": 12,
"imgUrl": "https://img2.mukewang.com/szimg/5cda946c0826e4c006000338-228-128.jpg",
"promoStatus": 0,
"promoPrice": null,
"promoId": null,
"startDate": null
}
}