Microservices architecture - Asynchronous systems ft. Vaughan Sharman
In this 11:FS Explores: Lightboard Edition, Vaughan Shaman takes us through how asynchronous systems work, their advantages, and how they can remove potential bottlenecks.
Let’s say an organisation has migrated their mainframe services to the cloud, and that they're now looking to move from a monolithic architecture to microservices. They'll likely start with a request-reply (synchronous) integration, with just a few services.
As the business scales, they may find that the synchronous architecture strains. As more services are added over time, more dependencies come into play. This increases the chances of a cascade of failing calls taking place when there is a notable event in the business - such as a sudden influx of requests.
In this scenario, it’s worth moving to a slightly different model of microservices patterns. Asynchronous communication removes the dependencies between services, and can make it far easier to plan for, and handle, large unexpected amounts of volume by eliminating the need for services to wait for a response from each other. It introduces a message bus that facilitates communication consistently across services, lifting those dependencies.