Disadvantages

While this approach does solve most of the complexities, it introduces a few trade-offs:

  • Asynchronous programming can sometimes be painful to handle. It can't be figured out by just looking at the code. A thorough understanding of Event Loop as shown in Chapter 2Gearing up for the Journey, is must to understand the actual workflow in async coding.
  • Complexity and centralized code are now shifted in inpidual services. The flow control is now broken up and distributed across all the services. This may introduce redundant code in the system.

Like everything, a one-size-fits-all approach doesn't work here. Several hybrid approaches have come along, which take advantage of both processes. Let's now take a look at some hybrid approaches. A hybrid approach can add a lot of value.