OpenResty 从入门到实战
温铭
OpenResty 软件基金会第一任主席,Apache APISIX 项目 VP
20903 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 52 讲
结束语 (1讲)
OpenResty 从入门到实战
15
15
1.0x
00:00/00:00
登录|注册

50 | 答疑(五):如何在工作中引入 OpenResty?

指定文件路径
加载 Lua 模块
在 header filter 阶段将 content length 置为 nil
香草
lor
Lapis
缺乏成熟的框架
OpenResty 希望用 DSL 解决
使用数组拼接
使用数据库的 prepare 语句
技术系统融合
招聘工程师
API 网关
WAF
流量切换
测试
确认线上 Nginx 的版本
lua_package_path vs content_by_lua_file
处理方法
推荐
问题
SQL 语句拼接优化
考虑因素
切入点
替代 Nginx
Lua 代码的查找路径
修改响应头中的 content-length
OpenResty 的 Web 框架
OpenResty 的数据库封装
OpenResty 在工作中的使用
答疑(五):如何在工作中引入 OpenResty?

该思维导图由 AI 生成,仅供参考

你好,我是温铭。
几个月的时间转瞬即逝,到现在,OpenResty 专栏的最后一个版块微服务 API 网关篇,我们就已经学完了。恭喜你没有掉队,始终在积极学习和实践操作,并且热情地留下了你的思考。
很多留言提出的问题很有价值,大部分我都已经在 App 里回复过,一些手机上不方便回复的或者比较典型、有趣的问题,我专门摘了出来,作为今天的答疑内容,集中回复。另一方面,也是为了保证所有人都不漏掉任何一个重点。
下面我们来看今天的这 5 个问题。

问题一:OpenResty 在工作中的使用

Q:快结课了,我也基本上跟下来了,但自己的实践还是偏少(工作中目前未用)。不过,这确实是很强大的一门课。感谢温老师的持续分享,后期工作中我也会择机引入。
A:感谢这位同学的认可,关于这条留言,我想聊一聊,如何在工作中引入 OpenResty,这确实是一个值得一谈的话题。
OpenResty 基于 Nginx,并在它的基础之上加了 lua-nginx-module 的 C 模块和众多 lua-resty 库,所以 OpenResty 是可以无痛替换 Nginx 的,这是成本最低的开始使用 OpenResty 的方法。当然,这个替换过程也是有风险的,你需要注意下面这三点。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

OpenResty 是一个基于 Nginx 并加入了 lua-nginx-module 的 C 模块和众多 lua-resty 库的开源项目,本文回答了读者提出的五个问题。首先,针对如何在工作中引入 OpenResty,作者建议从替代 Nginx 的角度切入,进行测试和流量切换,同时指出 OpenResty 在 WAF 和 API 网关方面的应用。其次,针对数据库操作中的 SQL 语句拼接问题,作者建议利用数据库的 `prepare` 语句或数组拼接方式进行优化。然后,针对缺乏成熟的 Web 框架的问题,作者推荐了一些开源项目,并指出 OpenResty 在处理大项目时会力不从心的原因。此外,作者还解答了修改响应头中的 content-length 和 Lua 代码的查找路径的问题。总的来说,本文涵盖了 OpenResty 的使用、优化和问题解决等方面,为读者提供了有价值的技术指导。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《OpenResty 从入门到实战》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(6)

  • 最新
  • 精选
  • 林中木
    温老师:感谢你对我的留言,这么重视。在此我还要表达我的一个感观:我感觉章宜春是OpenResty的生父,而你是OpenResty的养父,没有你的推广,OR不会有这样的发展和成长,感谢章宜春,也非常感谢你,让我对OR着了迷。 我对OR的了解有一段时间了,有很多突破,但还有居多的疑惑和一知半解,在此想再讨教一下: 1-关于FFI的使用,各个教程都语焉不详,目前还是懵懵懂懂,希望温老师能出一篇或推荐个FFI的基础的、详细的说明教程; 2-用OR开发WEB,存在第三方服务无SDK可用的情况,比如说我的上传文件都要放到OSS上,但OSS提供的SDK是没有lua版的,这种尴尬情况,由什么手段可以解决呢 3- 为什么很多OR周边的框架和类库,进2、3年都很少更新,也很少新的开源作品出来,这是为什么呢,继续研究OR是否还有前景。

    作者回复: 多谢你的肯定,开源社区就是很多人一起参与才能意思。代码是贡献,文档是贡献,推广是贡献,使用者其实也是贡献,这些贡献没有高低之分,大家都在一个生态当中,缺一不可。 1. FFI 的建议先看 LuaJIT 的官方文档,其实已经比较详细了。然后再找两个使用了 FFI 的 lua-resty 项目; 2. 这个确实尴尬,还是生态不够完善。比如你想写一个 lua-resty-oss 的库,但感觉无从下手,因为没有这方面的教程和参考,不知道怎么写; 3. 新的开源项目其实是有的,比如 ingress-nginx、Kong 和 APISIX 都是基于 OpenResty 来实现的,但周边库确实有些跟不上,比如 etcd v3 协议、redis cluster 的都还没有。OpenResty 现在的维护者主要是 Kong 的首席架构师,所以功能的跟进和版本发布的节奏都有了明显的改善。

    2019-09-18
    2
    5
  • yswang
    我个人是不建议使用openresty来开发什么web的,如果要开发web,你可以选择spring或node。

    作者回复: 现阶段是不推荐把 OpenResty 用在很多人一起合作的大项目

    2019-09-19
    2
    1
  • 丁丁历险记
    我是后端开发,用的比较粗, 目前通过监听不同的端口来提供服务,计费心跳,转发消息中间件。 目前优化后,用AB 来测 大约15 倍性能提升。
    2020-04-30
    2
  • Geek_41dcba
    老师能否写一篇关于luajit中jit模式下编写lua的都内容,特别是最近对公司项目进行压测,加入jit.v后一堆NYI的提示,bytecode51闭包的问题,尾调不能被jit,哨兵检测问题,还有提示加入了黑名单。 一下子摸不清该如何处理
    2019-09-19
    1
  • 沐枫
    Apisix 我看到是apache 的孵化项目,它现在是生产Ready吗?
    2020-03-28
  • s哒c
    请问通过将content-length置为nil的方式会导致下载大文件等情况看不到下载进度,有什么更好的办法能解决这个问题吗?
    2019-10-15
收起评论
显示
设置
留言
6
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部