课程目录
开篇词 (1讲)
- 开篇词 _ OpenResty,为你打开高性能开发的大门
入门篇 (14讲)
- 01 _ 初探OpenResty的三大特性
- 02 _ 如何写出你的“hello world”?
- 03 _ 揪出隐藏在背后的那些子项目
- 04 _ 如何管理第三方包?从包管理工具luarocks和opm说起
- 05 _ [视频]opm项目导读
- 06 _ OpenResty 中用到的 NGINX 知识
- 07 _ 带你快速上手 Lua
- 08 _ LuaJIT分支和标准Lua有什么不同?
- 09 _ 为什么 lua-resty-core 性能更高一些?
- 10 _ JIT编译器的死穴:为什么要避免使用 NYI ?
- 11 _ 剖析Lua唯一的数据结构table和metatable特性
- 12 _ 高手秘诀:识别Lua的独有概念和坑
- 13 _ [视频]实战:基于FFI实现的lua-resty-lrucache
- 14 _ 答疑(一):Lua 规则和 NGINX 配置文件产生冲突怎么办?
API篇 (11讲)
- 15 _ OpenResty 和别的开发平台有什么不同?
- 16 _ 秒杀大多数开发问题的两个利器:文档和测试案例
- 17 _ 为什么能成为更好的Web服务器?动态处理请求和响应是关键
- 18 _ worker间的通信法宝:最重要的数据结构之shared dict
- 19 _ OpenResty 的核心和精髓:cosocket
- 20 _ 超越 Web 服务器:特权进程和定时任务
- 21 _ 带你玩转时间、正则表达式等常用API
- 22 _ [视频]从一个安全漏洞说起,探寻API性能和安全的平衡
- 23 _ [视频]导读lua-resty-requests:优秀的lua-resty-_是如何编写的?
- 24 _ 实战:处理四层流量,实现Memcached Server
- 25 _ 答疑(二):特权进程的权限到底是什么?
测试篇 (5讲)
- 26 _ 代码贡献者的拦路虎:test__nginx 简介
- 27 _ test__nginx 包罗万象的测试方法
- 28 _ test__nginx 还可以这样用?
- 29 _ 最容易失准的性能测试?你需要压测工具界的“悍马”wrk
- 30 _ 答疑(三)如何搭建测试的网络结构?
性能优化篇 (16讲)
- 31 _ 性能下降10倍的真凶:阻塞函数
- 32 _ 让人又恨又爱的字符串操作
- 33 _ 性能提升10倍的秘诀:必须用好 table
- 34 _ 特别放送:OpenResty编码指南
- 35 _ [视频]实际项目中的性能优化:ingress-nginx中的几个PR解读
- 36 _ 盘点OpenResty的各种调试手段
- 37 _ systemtap-toolkit和stapxx:如何用数据搞定“疑难杂症”?
- 38 _ [视频]巧用wrk和火焰图,科学定位性能瓶颈
- 39 _ 高性能的关键:shared dict 缓存和 lru 缓存
- 40 _ 缓存与风暴并存,谁说缓存风暴不可避免?
- 41 _ lua-resty-_ 封装,让你远离多级缓存之痛
- 42 _ 如何应对突发流量:漏桶和令牌桶的概念
- 43 _ 灵活实现动态限流限速,其实没有那么难
- 44 _ OpenResty 的杀手锏:动态
- 45 _ 不得不提的能力外延:OpenResty常用的第三方库
- 46 _ 答疑(四):共享字典的缓存是必须的吗?
API网关篇 (4讲)
- 47 _ 微服务API网关搭建三步曲(一)
- 48 _ 微服务API网关搭建三步曲(二)
- 49 _ 微服务API网关搭建三步曲(三)
- 50 _ 答疑(五):如何在工作中引入 OpenResty?
结束语 (1讲)
- 结束语 _ 行百里者半九十




