又拍云Open Talk:OpenResty最佳实践( 三 )

  尹吉峰提到 , OpenResty 是 Nginx 和 Lua 的有机完美结合 , Nginx 是一流的反向代理服务器 , 在一线的互联网公司已经是一个标配 , 因此在引入 OpenResty 风险很低;而 Lua 是小巧灵活的编程语言 , 支持 Coroutine , LuaJIT 性能强大 , 支持 FFI 。 之后 , 他详细介绍了过去使用 OpenResty 构建高性能 Web 应用服务的实践 。

  那些你可能不知道的 OpenResty 特性

  奇安信服务端开发艾菲 , 网名河马大侠 , 《 OpenResty 最佳实践 》贡献者 , 前 OpenResty 软件基金会成员 。 2013 年加入奇虎 360 , 擅长使用 OpenResty 完成各种网关和缓存行为 。 他在现场介绍了 OpenResty 中具有重要意义的一些模块、命令、API 和框架等 。


又拍云Open Talk:OpenResty最佳实践

----又拍云Open Talk:OpenResty最佳实践//----

  奇安信工程师艾菲

  艾菲首先介绍了 OpenResty 作为 Web 服务器 , 提供了丰富的 Lua API , 包括 ngx.say、ngx.resp.get_header、body_filter_by_*、ngx.exit() 等 , 让我们可以去操纵 HTTP 的 request和 response 等基本元素 , 从而灵活控制整个 HTTP 的请求和响应体 。 如果遇到业务代码 , 可以用 Lua 的方式编辑 , 开发效率是无可比拟的 。

  艾菲介绍了定时器 ngx.timer.at 用法 , 可以实现延迟运行的任务逻辑 , 甚至于通过一些特殊的调用方法实现定时任务的功能 , 这个 API 还有一个“非凡”意义 , 可以实现跨作用域 。 他在分享最后介绍了一些 HTTPS 的性能问题以及避免的方式 。

  高性能 API 网关实践

  OpenResty 软件基金会发起人王院生 , 《OpenResty 最佳实践》作者 , 开源微服务 API 网关 APISIX 作者 , 在 OpenResty x Open Talk 上海站的活动上 , 他详细介绍了 APISIX 如何做到高性能及实现的技巧 , 本次分享 , 他介绍即将发布的APISIX 0.7 版本路由将会支持插件化 , 同时将会超 80% 的代码覆盖率 。


又拍云Open Talk:OpenResty最佳实践

----又拍云Open Talk:OpenResty最佳实践//----

  OpenResty 软件基金会发起人王院生

又拍云Open Talk:OpenResty最佳实践。  王院生在现场分享了一些通用的 OpenResty 编程技巧 , 他将 radixtree 和 r3 做了对比解释了 APISIX 选择 radixtree 的原因 , 匹配模式简单、高效 , 支持遍历、回调等;ngx.var 能使项目性能提速 , 最简单的方式是用 iresty/lua-var-nginx-module 的仓库 , 可以有 5% 的性能提升;当遇到 fail to json encode 的情况时 , 他的做法是强制对 cdata、userdata 等进编码 , 在有循环嵌套时依然可以打印 。

又拍云Open Talk:OpenResty最佳实践。  除此之外 , 王院生还向在场的开发者推荐了他自己写的静态代码检查工具 , 能帮助解决很多代码风格的问题 。 apisix/core 也是一个非常值得学习的基础库 , 帮助大家了解一些非常实用的库的实现 。


推荐阅读