The world is always changing. Organizations, traditional enterprises & startups alike want to build systems for the changing world, and they jumped into Microservices hoping they can stay ahead of competitors and be a true disruptor in their domain.
As Sam Newman said, "If we have to reap the true benefits of Microservices architecture, we need to worry much less about what happens inside a service than what happens between the services”. Without a clear understanding of those inter-service interactions, we might end with a distributed microservices where the services are still coupled to some degree. To me, it is just a nice distributed monolith.
Inter-service interactions can be better understood by an event-driven mindset. In the real world, the events drive actions and reactions. The event-driven approach is not anything new, but putting events as a first class citizen will fundamentally shift how systems are designed and make it seamless to think in terms of actual domain models.
Let us talk about the patterns, challenges, and benefits of looking at events as first-class citizens and see how if it is done correctly, it not only solves the problem for today but also enables us to be ready for the future.