3 ms·
The context for things like Linkerd or Hystrix is server infrastructures that are made of multiple services. For instance you may be working on a public facing
by drdrey 9y ago
The context for things like Linkerd or Hystrix is server infrastructures that are made of multiple services. For instance you may be working on a public facing service that exposes a search functionality, and your downstream services could be things like the authentication service, the search service, and the logging service.
Let's say you have authenticated a request and need to submit it to the search service. Instead of opening a socket to a particular IP address, you use the service mesh to send the request to 'service=search' on your behalf. The service mesh keeps an up-to-date list of instances that implement the search service in the background, picks one of them to send the request to and gives you the response.
In addition to managing the pool of servers, it can do a few fancy things:
* have connections primed and ready to go before you had to make the request
* balance the load between instances, potentially based on their latencies and error rates
* handle timeouts and retries against different instances
* fail requests without making the remote call if the error rate of the downstream service is too high (circuit breaking)
* expose metrics about request volume, error rates and latencies