Does any module support the heathy check of the backend upstreams?

merlin corey merlincorey at dc949.org
Thu Jun 11 01:21:21 MSD 2009


> If nginx exposed an API of sorts to dynamically add/remove servers
> from the upstream, this could be done via an external process
While I see nothing wrong with this in general...

> without
> having to manually create some upstreams.conf file and HUP the server
> each time.
What is so wrong with this?  Also, just for clarity (though I think
you meant it too) the external process can manage the upstreams.conf
and HUP nginx automatically!  You might even be able to get something
like this going pretty quick with some small modifications to monit or
something similar!

-- Merlin


> On Tue, Jun 9, 2009 at 4:01 AM, Avleen Vig<avleen at gmail.com> wrote:
>> This is something I would like very much too. But I'm not sure if doing it
>> inside nginx is the best place. Maybe it is. I wouldn't want it to impact
>> the performance of nginx though.
>>
>> Eg, I currently have around 40 backend servers. If I want to check their
>> health every 5 seconds, that's 8 checks a second (not much).
>> But if I had 200 backend servers, that becomes a lot more checking nginx has
>> to do *every second*
>>
>> On Jun 8, 2009, at 21:12, Michael Shadle <mike503 at gmail.com> wrote:
>>
>>> I don't think that removes it and readds it. That sounds like he wants
>>> healthchecking (I do too) and currently it sounds like the answer is
>>> "do it outside of nginx, and then add the servers to the nginx config
>>> / include file as they come up and down and then restart/reload nginx)
>>>
>>>
>>> On Mon, Jun 8, 2009 at 2:25 AM, mingjiang huang<lirel.nginx at gmail.com>
>>> wrote:
>>>>
>>>>
>>>> On Sun, May 31, 2009 at 6:56 PM, Chieu <lfchieu at gmail.com> wrote:
>>>>>
>>>>> hi,
>>>>> I want to implement a module that can check the heathy of the backend
>>>>> web
>>>>> servers circlely. If the upstream died, the module can remove the server
>>>>> from the upstream list and if the upstream get up, the module can add
>>>>>  it to
>>>>> the list.
>>>>> Is there a good way to implement it?
>>>>>
>>>>> thank you
>>>>> Chieu
>>>>
>>>>
>>>> I think it's already be implemented in nginx
>>>>
>>>> See http://wiki.nginx.org/NginxHttpUpstreamModule
>>>>
>>>> The server directive has tow args: max_fails fail_timeout
>>>
>>
>>
>
>





More information about the nginx mailing list