Welcome to the Inedo Forums! Check out the Forums Guide for help getting started.
If you are experiencing any issues with the forum software, please visit the Contact Form on our website and let us know!
ProGet Web Server load balancing requirements
-
documentation says:
Web Node Configuration
Any number of servers may be configured as web nodes; to ensure high-availably, at least three nodes are required.Why are 3 nodes required for high availability as opposed to 2? (I have 2 nodes configured behind a hardware load balancer. Why would that configuration not be considered "highly available"?
Product: ProGet
Version: 4.7.11
-
It's mostly semantics... but if one the nodes go down, then you are left with a load balancer in front of one web server. So, it would no longer be load-balanced.
-
I'm not sure I understand the argument. If one node goes down, yes you are left with one node up. If it's a functional service with one node, then it's still available.
I don't get the sense that there is any "voting" going on through communication between nodes, so it doesn't sound like 3 nodes are the minimum for high availability. It sounds like 2 nodes would work as long as the risk we are addressing is a single node failure. (3 nodes are only required if the load is such that 2 nodes are needed to handle expected load, or if we are planning for 2 nodes to fail at the same time.)
-
3 nodes are only required if the load is such that 2 nodes are needed to handle expected load
That's pretty much it!
Keep in mind, it's tough for us to generalize things because there are so many different usecases and usages levels. But generally speaking, LB of ProGet is about managing peak usage -- like, when a few developers run their npm builds (requesting thousands of packages) using their 32GB/8-core desktops, that can quickly overpower a server.
One server is often not enough for situations like that. Two is probably good enough. Three is pretty good. This is why we say dropping from "probably good enough" to "not enough" is not HA.
Also, it's almost always easier and more cost effective for organizations to add another server in the mix than it is to spend the time determining how much they might actually need and risks that not being enough.