jargon

Comparison

Service discoveryvsService endpoint

Service discovery

instances come and go constantly and callers never hold a stale address, because nobody is configured with one.

The mechanism by which a caller finds a currently-healthy instance of something whose addresses change all the time. On a container platform it is usually DNS plus a continuously-updated endpoint list maintained by the control plane, rather than anything the application does. The reason it is infrastructure rather than code is that the set of instances changes on every deploy, every scale event and every node replacement.

Full entry →

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 →

Related comparisons