课程目录

开篇词 (1讲)

  1. 开篇词 _ OpenResty,为你打开高性能开发的大门

入门篇 (14讲)

  1. 01 _ 初探OpenResty的三大特性
  2. 02 _ 如何写出你的“hello world”?
  3. 03 _ 揪出隐藏在背后的那些子项目
  4. 04 _ 如何管理第三方包?从包管理工具luarocks和opm说起
  5. 05 _ [视频]opm项目导读
  6. 06 _ OpenResty 中用到的 NGINX 知识
  7. 07 _ 带你快速上手 Lua
  8. 08 _ LuaJIT分支和标准Lua有什么不同?
  9. 09 _ 为什么 lua-resty-core 性能更高一些?
  10. 10 _ JIT编译器的死穴:为什么要避免使用 NYI ?
  11. 11 _ 剖析Lua唯一的数据结构table和metatable特性
  12. 12 _ 高手秘诀:识别Lua的独有概念和坑
  13. 13 _ [视频]实战:基于FFI实现的lua-resty-lrucache
  14. 14 _ 答疑(一):Lua 规则和 NGINX 配置文件产生冲突怎么办?

API篇 (11讲)

  1. 15 _ OpenResty 和别的开发平台有什么不同?
  2. 16 _ 秒杀大多数开发问题的两个利器:文档和测试案例
  3. 17 _ 为什么能成为更好的Web服务器?动态处理请求和响应是关键
  4. 18 _ worker间的通信法宝:最重要的数据结构之shared dict
  5. 19 _ OpenResty 的核心和精髓:cosocket
  6. 20 _ 超越 Web 服务器:特权进程和定时任务
  7. 21 _ 带你玩转时间、正则表达式等常用API
  8. 22 _ [视频]从一个安全漏洞说起,探寻API性能和安全的平衡
  9. 23 _ [视频]导读lua-resty-requests:优秀的lua-resty-_是如何编写的?
  10. 24 _ 实战:处理四层流量,实现Memcached Server
  11. 25 _ 答疑(二):特权进程的权限到底是什么?

测试篇 (5讲)

  1. 26 _ 代码贡献者的拦路虎:test__nginx 简介
  2. 27 _ test__nginx 包罗万象的测试方法
  3. 28 _ test__nginx 还可以这样用?
  4. 29 _ 最容易失准的性能测试?你需要压测工具界的“悍马”wrk
  5. 30 _ 答疑(三)如何搭建测试的网络结构?

性能优化篇 (16讲)

  1. 31 _ 性能下降10倍的真凶:阻塞函数
  2. 32 _ 让人又恨又爱的字符串操作
  3. 33 _ 性能提升10倍的秘诀:必须用好 table
  4. 34 _ 特别放送:OpenResty编码指南
  5. 35 _ [视频]实际项目中的性能优化:ingress-nginx中的几个PR解读
  6. 36 _ 盘点OpenResty的各种调试手段
  7. 37 _ systemtap-toolkit和stapxx:如何用数据搞定“疑难杂症”?
  8. 38 _ [视频]巧用wrk和火焰图,科学定位性能瓶颈
  9. 39 _ 高性能的关键:shared dict 缓存和 lru 缓存
  10. 40 _ 缓存与风暴并存,谁说缓存风暴不可避免?
  11. 41 _ lua-resty-_ 封装,让你远离多级缓存之痛
  12. 42 _ 如何应对突发流量:漏桶和令牌桶的概念
  13. 43 _ 灵活实现动态限流限速,其实没有那么难
  14. 44 _ OpenResty 的杀手锏:动态
  15. 45 _ 不得不提的能力外延:OpenResty常用的第三方库
  16. 46 _ 答疑(四):共享字典的缓存是必须的吗?

API网关篇 (4讲)

  1. 47 _ 微服务API网关搭建三步曲(一)
  2. 48 _ 微服务API网关搭建三步曲(二)
  3. 49 _ 微服务API网关搭建三步曲(三)
  4. 50 _ 答疑(五):如何在工作中引入 OpenResty?

结束语 (1讲)

  1. 结束语 _ 行百里者半九十