一 基于协程的并发编程SDK
场景: 收到一个请求会'并发发起'多个请求,使用openresty提供的'协程'
说明: 这个是'高级'课程,如果'不理解'可以'先跳过'
遗留: APSIX和Kong'深入理解'openresty
标准lua的协程
① 早期提供的轻量级协程SDK ngx.thread
ngx.thread.spawn、ngx.thread.wait、ngx.thread.kill介绍
ngx.thread轻量级线程
openresty协程使用注意事项
- ngx.thread.spawn
- ngx.thread.wait
- ngx.thread.kill
② openresty封装的协程方法
- coroutine.create
- coroutine.resume
- coroutine.yield
- coroutine.wrap
- coroutine.running
- coroutine.status
说明: 常'用在'rewrite_by_lua*, access_by_lua*, content_by_lua*阶段,'不局限'
案例'讲解'
③ 多协程锁的概念
lua-resty-lock
- new
- lock
- unlock
- expire
lua-resty-lock在分布式缓存中的应用