Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HTTP compatibility. #8

Open
wants to merge 61 commits into
base: master
Choose a base branch
from
Open

HTTP compatibility. #8

wants to merge 61 commits into from

Conversation

cziko
Copy link

@cziko cziko commented Jun 21, 2012

headers[Connection] did not have "\r". It was incompatible with HTTP protocol.

Bernard Grymonpon and others added 30 commits April 24, 2012 16:50
Currently only "random" and "least connections" are supported.
I managed to confuse JSON and YAML APIs there...
Without it a host that rejects connections would always
get selected as the best candidate for the incoming request.

Also, this code really needs more abstraction. :-)
…s free until transfers finished."

This reverts commit 4a47cbc.
Previously all backends would have healthcheck threads
started immediately. This was mostly useless, as the healthcheck
logic would never mark the backend down - it could only mark it
as back up once it's been marked down my the load-balancing logic.

This generated substantial amounts of traffic.

Now the healthcheck loop should start when the backend is
blacklisted by the load balancing logic and stop once its found
to be back up.
Also decreased the delay between consecutive attempts to 0.5s.
Fixed sleep logic so that the connection handler doesn't sleep
after the last connection attempt and returns immediately.
Previously all backends would have healthcheck threads
started immediately. This was mostly useless, as the healthcheck
logic would never mark the backend down - it could only mark it
as back up once it's been marked down my the load-balancing logic.

This generated substantial amounts of traffic.

Now the healthcheck loop should start when the backend is
blacklisted by the load balancing logic and stop once its found
to be back up.
karol-nowak and others added 30 commits July 10, 2014 15:24
Add support for X-Loadbalance-To header
Currently when there are no backend available in pool Mantrid is
throwing general exception. We want to handle it in more civilized
way so nginx can catch a problem and fallback to other grid
clusters.

This fix is needed for az-separation, as when setting up new cluster
it will not have any backends set in mantrid. As workers connect
only to nginx->mantrid correlated to their grid, we don't want them
to throw errors and bother anyone, so let's just let nginx to
connect to other, healthy grid cluster.
This reverts commit fd31d03.

Apparantely applications returns 503 from time to time. In this case
we really don't want nginx to retry. Therefore we're returning to
idea of 597 and gonna patch nginx upstream module to support it, what
seems to be pretty straightforward.
Check whether there are healthy backend available
Alias can be set for another hostname that is already configured.
It theoretically should help for problems with least_connections
alghoritm.
API Proxy is going to set X-Request-Id. Let's log it to improve
visibility across backend requests.
Return 594 status code on backend timeout.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants