top | item 20972969

(no title)

aashishkoirala | 6 years ago

Are we then paying the price in latency and added hops for development agility? I would have guessed a user request would never be subjected to that. With a mesh, don't you get even more latency because of the sidecar? The link you provided looks interesting; will give it a read, thanks!

discuss

order

williamallthing|6 years ago

Yes, you pay a latency and resource cost to have the service mesh features decoupled from the application code. Same with any abstraction e.g. containers or Kubernetes.

You could alternatively get service mesh features in the application layer with libraries like Finagle, Hysterix, etc, and not pay that cost. But then you're tied to particular languages, and changing platform features requires making code changes.

It's a tradeoff. I talked about this at Kubecon earlier this year: https://www.youtube.com/watch?v=Z3nfLI3z0hc#t=4m58

aashishkoirala|6 years ago

That was a great talk, thanks for sharing. I guess it all makes sense once you have bought into having synchronous dependencies between microservices - which is the part I was struggling with. But I guess if that is what you have to do, that is what you have to do.