Understanding the Patterns of Microservice Intercommunication From A Developer Perspective
View/ Open
Abstract
Microservices Architecture is the modern paradigm for designing software. Based on the divide-and-conquer strategy, microservices architecture organizes the application by furnishing it with a fine-level granularity. Each microservice has a well-defined responsibility and multiple microservices communicate with each other toward a common goal. A momentous decision in designing microservices applications is the choice between orchestration or choreography-based modes as the underlying intercommunication pattern. Choreography entails that microservices work autonomously while orchestration entails that a central coordinator directs the interaction between services. We arbitrate this decision from a developer’s perspective by empirically evaluating the properties of a benchmark system mapped into both orchestration and choreographed topologies. In this research, we document our experience from implementing and debugging this system. Our studies demonstrate microservices composed using orchestration exhibit desirable inherent characteristics that make microservice code easier to implement, debug, and scale.