Hello!
2016-05-02 20:08 GMT-07:00 <brill...@gmail.com>:
> 1.如何只让一个worker全职做,这个worker怎么保证存活
这其实是一个 FAQ 了,你的某一个 worker 只需在 lua_shared_dict 里面置一个标志(使用 add 方法),这样其他
worker 置不上标志,就自然不做事了。比如 lua-resty-upstream-healthcheck 库就这么做的,可以参考。
> 2.启动一个轻线程做是指在init master的时候启动一个轻线程还是说init worker的时候
>
nginx 的 master 进程只负责监听外部信号,包括来自其负责监管的各个 worker 进程的信号。自然只能在 init worker 里面建立轻线程了。
> 从一个原java程序员的角度思考,如果java实现一个etcd的client 应该会启动一个thread来全职做watch的工作的,所以感觉在init
> master的时候起一个thread比较接近java的设计思路啊?
>
OpenResty/NGINX 不是 Java :) JVM 的进程与线程模型,和 NGINX 的很不一样,没有可比性。
Regards,
-agentzh