• by williamallthing on 9/14/2019, 6:07:10 PM

    Because every system that needs to return a response within N ms (which is pretty much every app, service, API call, etc) ends up being implemented with synchronous calls, with messaging only used for truly offline bits. There's a good writeup of why here: https://programmingisterrible.com/post/162346490883/how-do-y... , with this great quote: "In practice, a message broker is a service that transforms network errors and machine failures into filled disks".

    (I used to work at Twitter, which went through this same transformation, but if you watch tech talks from pretty much any other modern company that it building a big distributed system, you'll see the same pattern.)

  • by streetcat1 on 9/14/2019, 1:00:47 AM

    Most of the ideas of the service mesh came from Netflix. You should watch the orignal netflix lectures.

    You are confusing the enterprise service bus architecture and micro service architecture.

    Async architecture is not always the right answer. If you need it, than the recommended architecture is to use a center event log (i.e. kafka) and feed all the services from it.