Evaluating the Inter-Service Communication on Microservice Architecture

Distributed computing concepts have proliferated with cloud computing concepts in the past decade. With the evolution in cloud computing, Microservice architecture has significantly become popular as a new architectural pattern and a software development architecture. Most enterprise software development has moved their monolithic software architecture to microservice-based architecture, as it can divide large applications into light-weighted, distributed components. However, this approach may be subject to certain downsides as well. With the modern convention, engineers have succeeded in achieving scalability and maintainability quality attributes and lack the performance attribute in terms of response time. This is because the microservice architecture has introduced inter-service communication over the network. The key challenge when developing a microservice-based application is choosing the correct inter-service communication mechanism to reduce the time taken when calling each service. This research has taken an experimental methodology to compare and contrast the most trending inter-service communication mechanisms. Industry-standard benchmark load test is run to collect quantitative data to evaluate the overall system performance in terms of response time. The testing observed that gRPC protocol performs well in terms of response time and throughput compared to the HTTP and Web Socket protocols.