- 说明: 本'篇章'只是对'cosocket'常用话API的汇总,并'没有'实际案例加以'辅证'
-
- 场景: 许多'单机版'的中间件都是基于'cosocket'做的二次开发
① coscoket常用的指令
个人建议: '初始'的时候可以先'不调整',先使用'默认值',后续再'调优'
② TCP cosocket ngx.socket.tcp
备注: patterm遇到'什么情况'关闭连接
③ connect
'前置': tcpsock = ngx.socket.tcp()
案例1: '域名'形式
案例2: 'unix socket'
案例3: settimeout method 比'lua_socket_connect_timeout' directive '优先级'高
最后: '可选 table'解读 --> '了解即可'
Nginx TCP backlog 分析优化和性能相关经验汇总
Nginx 优化中在 Nginx 侧 和 Linux 系统侧必须要调整优化的参数详细和 最佳推荐配置
upstream 的 max_fails 和 fail_timeout 指标和实战经验
④ 非阻塞调用
- 遗留: 通过'memecached.lua'来学习'cosocket'
-
- 路径: /usr/local/openresty/lualib/resty/memcached.lua
说明: 获取'请求'的tcp连接,将tcp连接'包装'成一个cosocket对象
⑥ 关于ssl握手
说明: 后续深入理解'tsl/ssl'再回头探究
⑦ UDP cosocket ngx.socket.udp
遗留: 操作系统的socket'缓冲区'理解