强曰为道

与天地相似,故不违。知周乎万物,而道济天下,故不过。旁行而不流,乐天知命,故不忧.
文档目录

OpenResty 高性能网关开发教程

OpenResty 高性能网关开发教程

一套系统化的 OpenResty 网关开发指南,涵盖从基础概念到生产部署的完整知识体系。

为什么选择 OpenResty?

OpenResty 基于 Nginx 与 LuaJIT,将 Nginx 的高并发网络处理能力与 Lua 的灵活脚本能力完美结合。它能在单台机器上轻松处理数十万并发连接,同时保持极低的内存占用和延迟。

特性说明
高性能基于 Nginx 事件驱动模型,单机支持 10 万+ QPS
可编程Lua 脚本嵌入 Nginx 各阶段,灵活定制
生态丰富lua-resty 系列库覆盖 Redis、MySQL、HTTP 等
生产验证Cloudflare、Kong、APISIX 等大规模使用
内存友好LuaJIT 的低内存占用 + 共享内存机制

教程结构

本教程共 16 章,按照「基础 → 核心功能 → 高级特性 → 生产部署」的递进顺序组织:

第一部分:基础篇

章节内容关键词
01 - OpenResty 概述架构、对比、适用场景Nginx + Lua, Kong, APISIX
02 - 安装与环境搭建包管理、编译安装、OPMOpenResty, LuaRocks, OPM
03 - Nginx 与 Lua 执行阶段生命周期、各阶段详解init, access, content, log
04 - Lua 语言基础语法、协程、FFI、OpenResty APILuaJIT, FFI, coroutine

第二部分:核心功能篇

章节内容关键词
05 - 路由与动态路由正则、前缀、版本路由、灰度router, A/B testing
06 - 限流与流控令牌桶、漏桶、滑动窗口rate limit, Redis
07 - 认证与鉴权JWT、API Key、OAuth2、mTLSauth, JWT, RBAC
08 - 反向代理与负载均衡健康检查、重试、熔断、降级proxy, upstream, circuit breaker

第三部分:高级特性篇

章节内容关键词
09 - 缓存策略共享内存、响应缓存、缓存失效LRU, cache stampede
10 - 数据转换与协议处理请求/响应改写、协议转换gRPC, JSON, XML
11 - 日志与监控结构化日志、ELK、自定义格式access log, ELK
12 - 安全防护WAF、防爬、SQL 注入、CC 防护WAF, bot, IP blacklist

第四部分:架构与部署篇

章节内容关键词
13 - 微服务网关架构服务发现、配置中心、链路追踪Consul, SkyWalking
14 - Docker 与容器化部署Dockerfile、Compose、热加载Docker, K8s
15 - 测试与质量保障busted、集成测试、压测busted, wrk, wrk2
16 - 最佳实践与生产部署项目结构、性能调优、插件开发performance, plugin

学习路线建议

新手路线(约 2 周):
  01 → 02 → 03 → 04 → 05 → 08 → 16

中级路线(约 1 个月):
  01 → 04 → 05 → 06 → 07 → 08 → 09 → 10 → 11 → 16

全栈路线(约 2 个月):
  按顺序全部完成,第 13-15 章可并行学习

前置要求

  • Linux 基础操作(Ubuntu/CentOS 均可)
  • HTTP 协议基础
  • 命令行工具使用(curl、vim/nano)
  • 了解基本的编程概念(变量、函数、循环)

无需 Lua 或 Nginx 开发经验,教程从零开始讲解。

代码约定

所有代码示例均经过测试,可直接运行。配置文件默认路径:

文件路径
主配置/usr/local/openresty/nginx/conf/nginx.conf
站点配置/usr/local/openresty/nginx/conf/conf.d/
Lua 代码/usr/local/openresty/lua/
日志/usr/local/openresty/nginx/logs/

开始学习:第 01 章 - OpenResty 概述 →