Hello!
2016-01-05 22:59 GMT-08:00 hao dong:
> 刚跟同事讨论了下,他认为可以在 nginx 开始阶段声明一个全局的 rabbitmq 的句柄,然后一直使用这个句柄。有这样做的方式??
>
你可以每个 nginx worker 维护一个 rabbitmq 连接,然后每个 worker 内部的所有连接都共享一个 rabbitmq
连接。这种玩法可以使用 init_worker_by_lua + ngx.timer.at + cosocket.
但值得提醒的是,rabbitmq 并不是性能过人的,所以使用过少的连接数很可能无法充分发挥 rabbitmq 的最大吞吐能力,同时
rabbitmq 很可能成为你整个系统的瓶颈(因为它并不是性能过人的)。正如我先前所说的,你记录全量响应体的开销很可能会超过 nginx
服务本身,*无论你使用何种技术方案*。
Regards,
-agentzh