In a typical Load Balancer + Tomcat app servers environment, how do you effectively determine if the service is up ?

Currently the load balancer is making TCP checks on a /service endpoint for the app servers and if they get 200 that assumes the node is up and servicing. But is there a effective way ?

1 Answer 1


That's typically the way it's done, TCP or more likely HTTP/S checks of the application.

You could provide a URL / endpoint that always hits critical components and systems. For example it could

  1. Check it can reach the web server
  2. Web server reverse proxies to the app server
  3. App server test code that checks that a) the database is returning what it should, and b) that say your caching engine is working, and c) any integrated systems are responding appropriately.

If you don't check the full stack it's not a particularly effective health check.

You could read up on how AWS Elastic Load Balancer does health checks, which uses this technique.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .