HN user

sneal

7 karma

[ my public key: https://keybase.io/sneal; my proof: https://keybase.io/sneal/sigs/LgWW5wDHZrfgXAaweIzkcJm7Lv5wkCn_zUoyww5lno0 ]

Posts0
Comments4
View on HN
No posts found.

You make a good point about health checks. Its easy to conflate single node health with overall service health. The LB check should really be about "can this node serve HTTP traffic", even if the non-health check requests can only send back 5xx responses because their dependencies are failing.

I've also had the opposite problem where the health check would answer 200 OK, but the real app itself had a corrupted internal state because of a poor design/threading bug. If the health check had been the home page the node would have been pulled from the LB. While a more in-depth health check would have helped here, I think its better to alert/monitor/kill any node with a higher than normal error rate and leave the health check simple.

If you're only using an IoC container for wiring up some singletons that the main app knows about... I suppose he has a point. For most applications that I work on that would never fly, I rely heavily on the lifetime/scoping abilities of my DI framework (Autofac).