Domain Driven Design (DDD) and Command Query Responsibility Segregation (CQRS) are known to provide us with means to tackle complexity within an application. However, they also provide us with patterns and guidelines to manage the complexity of large scale, distributed environments
In this talk, we will take a DDD/CQRS approach on implementing Microservices, focusing on the messaging between them. We will discuss different approaches to ensure decoupling of services on the API level, but also ensuring flexibility to change the system's behavior at runtime simply by switching services on and off.