On 2017-11-07 01:27:58 -0800, sipg...@gmail.com wrote:
> Hello,
> 场景: 多个Worker进程共享lua_shared_dict,
> 有两个请求(这两个请求有标志可以绑定为一组)同时到达需要访问第三方服务,请求A发现lua_shared_dict中这组请求没有访问过第三方服务,
> 请求A去访问第三方服务,请求B发现lua_shared_dict中已经有请求A在访问第三方服务,所以请求B不再访问第三方服务,而是等待请求A的结果,当请求A得到响应后再通知请求B去处理。
>
> 我想问下,openresty有没有这种机制?多个worker能共享数据,并且可以以事件的方式通知,非阻塞, 多谢了
感觉这个需求用 nginx 的 proxy_pass + proxy_cache_lock
就行了,用不着自己实现