jargon

Comparison

Service endpointvsVirtual IP

Service endpoint

a controller keeps a live list of which instances are ready, and removing one from that list is what actually stops traffic.

The maintained set of addresses currently eligible to receive a service's traffic, updated as instances become ready or unready. It is the join between health checking and routing, and it is the object to look at when a service is sending traffic to something that is not answering. Propagation is not instant — the list, the proxies and the DNS caches all update independently — which is the mechanism behind the handful of errors every rollout produces.

Full entry →

Virtual IP

the address you connect to belongs to no machine at all; something on every node rewrites the packet to a real instance.

A stable address that fronts a changing set of real backends, implemented in the node's packet path rather than by a process listening on it. It is what makes a service name resolve to one unchanging thing, and it is why you cannot ping a service address or capture traffic on it. Load balancing at this layer is per-connection, which matters for long-lived connections that never rebalance.

Full entry →

Related comparisons