OpenResty 软件基金会主席温铭亲自写的 OR 开发指南,如果你用得着 OR 而且希望能深入学习它,不妨看看这个专栏。
以下是专栏介绍:
如果你是个服务端工程师,且工作中涉及 Nginx、高性能、高并发、动态控制、性能测试、分析等,那么,不论你使用什么开发语言和平台,OpenResty 都是不可多得的
高性能开发利器
。
有不少人没接触过 OpenResty,
作为一个
兼具开发效率和性能
的服务端开发平台,OpenResty 并不像其他开发语言一样从零开始搭建,而是
基于成熟的开源组件
—— Nginx 和 LuaJIT。
其核心是基于 Nginx 的一个 C 模块(lua-nginx-module),这个模块将 LuaJIT 嵌入到 Nginx 服务器中,并对外提供一套完整的 Lua API,透明地支持非阻塞 I/O,提供了轻量级线程、定时器等高级抽象。
围绕这个模块,OpenResty 构建了一套完备的测试框架、调试技术和由 Lua 实现的周边功能库。
你可以用 Lua 进行字符串和数值运算、查询数据库、发送 HTTP 请求、执行定时任务、调用外部命令等,还可以用 FFI 的方式调用外部 C 函数。
这基本上
满足了服务端开发所需要的全部功能,
所以,OpenResty 的适用范围早已
超出了反向代理和负载均衡
。
这就意味着,掌握了 OpenResty,就能同时拥有
脚本语言的开发效率和迭代速度
,以及
Nginx C 模块的高并发和高性能优势
。
通过丰富的 lua-resty 库,OpenResty 逐渐摆脱了 Nginx 的影子,形成了自己的生态体系,在 API 网关、软 WAF 等领域被广泛使用。
OpenResty 现在是已经是
全球排名第五
的 Web 服务器了,我们常用的
12306 的余票查询功能、京东的商品详情页
,这些高流量的背后,都是 OpenResty 在默默地提供服务。
说到这里,
为你推荐一个人——
温铭。
他是 OpenResty 软件基金会主席,《OpenResty 最佳实践》作者,前 360 开源技术委员会委员。
他在互联网安全公司有 10 多年的工作经验,之前一直从事高性能服务端的开发和架构,负责开发过云查杀、反钓鱼和企业安全产品。
有一次,温铭在为新系统做技术选型时,偶然了解到了 OpenResty,那会儿他还是个 Pythoner,
不喜欢 Nginx C 模块的艰涩,还想享受它的高性能。
鱼与熊掌都想兼得, 怎么办呢?
OpenResty 满足了他的需求
。
但是,目前 OpenResty
学习资料非常少
,官方只提供了 API 文档,并没有入门和进阶的文档,网上找的资料也不够系统。
可以说,大部分的 OpenResty 使用者都是
摸着石头过河,过程相当痛苦
(他自己就是其中之一)。
所以,他在极客时间开了个课专门讲 OpenResty,目的很明确:帮你快速入门,建立 OpenResty 完整知识体系,进而真正掌握这款开发利器。
像他自己说的那样:
写出正确的 OpenResty 代码和写出高性能的优质 OpenResty 代码之间,相差十万八千里。
而跨越这个巨大鸿沟的零件,就散落在 OpenResty 开源项目的源码、文档、issue、PR、幻灯片、邮件列表中,需要你把它们串联起来,形成一个完整的学习路径和知识图谱。
多说无益,可以瞅瞅他总结的
OpenResty 学习路径图
,内容出自他的专栏
《OpenResty 快速入门与实战》
:
△ 订阅专栏即可获取「高清知识图谱」
专栏中的不少代码,都取自
开源 OpenResty 的测试案例和实际的开源项目
,
让你在入门之初,就了解真实的使用场景。
文章中还
穿插了多个视频
,内容取自
真实开源项目的功能点和 PR
。通过视频,可以更加直观地看到,刚学到的知识点是怎样在实际中应用的。
最后的
实战部分
,看着也挺带劲,温铭会带你用 OpenResty
从零搭建一个微服务 API 网关
,如果你想独立搭建一个更简单、更高性能的 API 网关,这部分内容可别错过。
从实际的开源项目中学习,再到实际的开源项目中去实战,将实战融入完整的知识体系