Configure haproxy to only disable affected services, while keeping it easy to take down entire box quicklyNeed HAproxy + Varnish + nginx setup suggestionsHow many reverse proxies (nginx, haproxy) is too many?Should Nginx be at the front of HAProxy or opposite?How can I make haproxy route requests based on URL substrings?haproxy how to acl to pass only list of ip's and domains need to be redirected to backendsreconfiguring haproxy backend dynamicallyHow to log requests from HAProxy?HAProxy backend requests time out with high waiting time for the serverhaproxy https redirect loop if backends downHaproxy: trouble using reqrep & use-server rules together
Placing bypass capacitors after VCC reaches the IC
Windows 10 Programs start without visual Interface
Employer demanding to see degree after poor code review
Full horizontal justification in table
How does an ARM MCU run faster than the external crystal?
At what point in European history could a government build a printing press given a basic description?
What are the benefits of cryosleep?
Is healing by fire possible?
Were pens caps holes designed to prevent death by suffocation if swallowed?
Is this resistor leaking? If so, is it a concern?
Infinite Sequence based on Simple Rule
How did early x86 BIOS programmers manage to program full blown TUIs given very few bytes of ROM/EPROM?
What is the most important source of natural gas? coal, oil or other?
What is the difference between nullifying your vote and not going to vote at all?
I think I may have violated academic integrity last year - what should I do?
How strong are Wi-Fi signals?
How do I subvert the tropes of a train heist?
Canon 70D often overexposing or underexposing shots
Apparent Ring of Craters on the Moon
Tic-tac-toe for the terminal, written in C
Is it ok to put a subplot to a story that is never meant to contribute to the development of the main plot?
How do I align equations in three columns, justified right, center and left?
Geological aftereffects of an asteroid impact on a large mountain range?
Where is the encrypted mask value?
Configure haproxy to only disable affected services, while keeping it easy to take down entire box quickly
Need HAproxy + Varnish + nginx setup suggestionsHow many reverse proxies (nginx, haproxy) is too many?Should Nginx be at the front of HAProxy or opposite?How can I make haproxy route requests based on URL substrings?haproxy how to acl to pass only list of ip's and domains need to be redirected to backendsreconfiguring haproxy backend dynamicallyHow to log requests from HAProxy?HAProxy backend requests time out with high waiting time for the serverhaproxy https redirect loop if backends downHaproxy: trouble using reqrep & use-server rules together
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
We are using haproxy for loadbalancing across several machines. Our application includes a number of services, each deployed as an independent war in tomcat, that can be requested. Currently I have a single backend that get's loadbalanced to, which means if any one server starts returning errors the entire box will be considered 'bad' and removed from the load balancer.
so for example if box A were to start throwing bad responses when someone makes requests to https://myAwsomeApp/foo/ Then box A would be removed entirely from the load balancer, meaning that a request to https://myAwsomeApp/bar/ would never get routed to box A, even if that separate service was functional and could still support requests to it.
I want to change this so that each of the services are independent, so that even if the foo app goes down on box A then request to /bar will still be routed to A.
I know I could do this using ACl to cause requests to https://myAwsomeApp/foo to go to a difference backend then request to https://myAwsomeApp/bar; but that seems a little silly since the two backends would have the exact same hosts in them.
I also want a quick way to take an entire box down at once for when we deploy new code or have issues at specific sites, and having to modify 10 backends (one for each service the box supports) seems annoying and prone to errors where one backend is missed.
So is there a cleaner way to have my cake and eat it to? To allow haproxy to disable only services that are proven to be bad, but also make it easy to turn off all services on a box in one go.
haproxy
add a comment |
We are using haproxy for loadbalancing across several machines. Our application includes a number of services, each deployed as an independent war in tomcat, that can be requested. Currently I have a single backend that get's loadbalanced to, which means if any one server starts returning errors the entire box will be considered 'bad' and removed from the load balancer.
so for example if box A were to start throwing bad responses when someone makes requests to https://myAwsomeApp/foo/ Then box A would be removed entirely from the load balancer, meaning that a request to https://myAwsomeApp/bar/ would never get routed to box A, even if that separate service was functional and could still support requests to it.
I want to change this so that each of the services are independent, so that even if the foo app goes down on box A then request to /bar will still be routed to A.
I know I could do this using ACl to cause requests to https://myAwsomeApp/foo to go to a difference backend then request to https://myAwsomeApp/bar; but that seems a little silly since the two backends would have the exact same hosts in them.
I also want a quick way to take an entire box down at once for when we deploy new code or have issues at specific sites, and having to modify 10 backends (one for each service the box supports) seems annoying and prone to errors where one backend is missed.
So is there a cleaner way to have my cake and eat it to? To allow haproxy to disable only services that are proven to be bad, but also make it easy to turn off all services on a box in one go.
haproxy
please share your haproxy configuration with us.
– c4f4t0r
May 14 at 16:08
add a comment |
We are using haproxy for loadbalancing across several machines. Our application includes a number of services, each deployed as an independent war in tomcat, that can be requested. Currently I have a single backend that get's loadbalanced to, which means if any one server starts returning errors the entire box will be considered 'bad' and removed from the load balancer.
so for example if box A were to start throwing bad responses when someone makes requests to https://myAwsomeApp/foo/ Then box A would be removed entirely from the load balancer, meaning that a request to https://myAwsomeApp/bar/ would never get routed to box A, even if that separate service was functional and could still support requests to it.
I want to change this so that each of the services are independent, so that even if the foo app goes down on box A then request to /bar will still be routed to A.
I know I could do this using ACl to cause requests to https://myAwsomeApp/foo to go to a difference backend then request to https://myAwsomeApp/bar; but that seems a little silly since the two backends would have the exact same hosts in them.
I also want a quick way to take an entire box down at once for when we deploy new code or have issues at specific sites, and having to modify 10 backends (one for each service the box supports) seems annoying and prone to errors where one backend is missed.
So is there a cleaner way to have my cake and eat it to? To allow haproxy to disable only services that are proven to be bad, but also make it easy to turn off all services on a box in one go.
haproxy
We are using haproxy for loadbalancing across several machines. Our application includes a number of services, each deployed as an independent war in tomcat, that can be requested. Currently I have a single backend that get's loadbalanced to, which means if any one server starts returning errors the entire box will be considered 'bad' and removed from the load balancer.
so for example if box A were to start throwing bad responses when someone makes requests to https://myAwsomeApp/foo/ Then box A would be removed entirely from the load balancer, meaning that a request to https://myAwsomeApp/bar/ would never get routed to box A, even if that separate service was functional and could still support requests to it.
I want to change this so that each of the services are independent, so that even if the foo app goes down on box A then request to /bar will still be routed to A.
I know I could do this using ACl to cause requests to https://myAwsomeApp/foo to go to a difference backend then request to https://myAwsomeApp/bar; but that seems a little silly since the two backends would have the exact same hosts in them.
I also want a quick way to take an entire box down at once for when we deploy new code or have issues at specific sites, and having to modify 10 backends (one for each service the box supports) seems annoying and prone to errors where one backend is missed.
So is there a cleaner way to have my cake and eat it to? To allow haproxy to disable only services that are proven to be bad, but also make it easy to turn off all services on a box in one go.
haproxy
haproxy
asked May 14 at 15:52
dsollendsollen
10315
10315
please share your haproxy configuration with us.
– c4f4t0r
May 14 at 16:08
add a comment |
please share your haproxy configuration with us.
– c4f4t0r
May 14 at 16:08
please share your haproxy configuration with us.
– c4f4t0r
May 14 at 16:08
please share your haproxy configuration with us.
– c4f4t0r
May 14 at 16:08
add a comment |
1 Answer
1
active
oldest
votes
Your best bet would be to configure tomcat to use a connector (port) per app, using the appbase setting in server.xml. And then simply have backend per port.
Here's a how to from stackoverflow: https://stackoverflow.com/questions/23569327/deploying-multiple-applications-to-tomcat
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "2"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f967241%2fconfigure-haproxy-to-only-disable-affected-services-while-keeping-it-easy-to-ta%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Your best bet would be to configure tomcat to use a connector (port) per app, using the appbase setting in server.xml. And then simply have backend per port.
Here's a how to from stackoverflow: https://stackoverflow.com/questions/23569327/deploying-multiple-applications-to-tomcat
add a comment |
Your best bet would be to configure tomcat to use a connector (port) per app, using the appbase setting in server.xml. And then simply have backend per port.
Here's a how to from stackoverflow: https://stackoverflow.com/questions/23569327/deploying-multiple-applications-to-tomcat
add a comment |
Your best bet would be to configure tomcat to use a connector (port) per app, using the appbase setting in server.xml. And then simply have backend per port.
Here's a how to from stackoverflow: https://stackoverflow.com/questions/23569327/deploying-multiple-applications-to-tomcat
Your best bet would be to configure tomcat to use a connector (port) per app, using the appbase setting in server.xml. And then simply have backend per port.
Here's a how to from stackoverflow: https://stackoverflow.com/questions/23569327/deploying-multiple-applications-to-tomcat
answered May 14 at 17:18
GothrekGothrek
46516
46516
add a comment |
add a comment |
Thanks for contributing an answer to Server Fault!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f967241%2fconfigure-haproxy-to-only-disable-affected-services-while-keeping-it-easy-to-ta%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
please share your haproxy configuration with us.
– c4f4t0r
May 14 at 16:08