一 其它常用的工具类SDK
回顾: 获取'请求'和'响应'、包括'修改'它们的信息
思考: nginx哪些操作'不会'触发init_by_lua* --> master进程的'读取'等操作
工具类: 做一些'编解码'之类的操作、'正则'表达式、记录'日志'等
① 记录日志
说明: '不能'使用nginx日志中'字符串'类型的'日志级别'
说明: 写入日志的'SDK'有'两'个
说明: 自定义'业务'日志的格式和业务日志的'存储文件名'
细节点: 取决于'error_log'指令的配置
其它模块: lua-resty-logger-socket
需求: 获取'error.log日志内容'的SDK
② 建立上下文信息的SDK
1、ngx.ctx '请求级别' --> 上下文'字典',在不同的'phrase'中传递一些信息
2、子请求和内部跳转'不能'使用ctx上下文
③ 编码和解码
场景: url、查询字符串、base64、mysql
1、将'字符串'进行URL编码和解码
2、'URL'参数的编码和解码
3、'base64'编码和解码
4、'sql字符串'转换为mysql格式
备注: 编解码的'上下文'是一致的
④ hash编码SDK
关注: 关注'sha1'和'md5'即可
遗留: openresty中各种'单机版'中间件客户端'模块'
对比: 框架是'异步非阻塞' VS lua api是'同步非阻塞'
多种方式都里可以'实现'功能: '性能'成本和'解耦'两个角度考虑
提醒: ansible 如何和 openresty '结合'使用