Litcius/Paper detail

Performance Characterization of Communication Protocols in Microservice Applications

Prajwal Kiran Kumar, Radhika Agarwal, Rahul Shivaprasad, Dinkar Sitaram, Subramaniam Kalambur

202122 citationsDOI

Abstract

Industrial applications are moving towards deployment using the microservice architecture. These microservices heavily rely on the networking stack for communication which, along with the container abstraction layer causes a significant overhead. With increasing core count on modern processors, these microservices are likely to be scheduled on the same host. In this paper, we attempt to analyze and optimize inter-microservice communication on the same host. We characterize three popular communication protocols - REST, gRPC, and Thrift, in terms of their network, memory, CPU utilization, and response time. Our studies showed that Thrift and gRPC are relatively faster than REST and hence, suitable for inter-microservice interactions owing to their speeds and compression. We leverage the shared memory between the microservices on the same host, using Unix Domain Sockets along with appropriate NUMA tuning that achieved an 86.48% reduction in response time.

Topics & Concepts

MicroservicesComputer scienceLeverage (statistics)Host (biology)Overhead (engineering)Software deploymentOperating systemDistributed computingComputer networkCloud computingEcologyMachine learningBiologySoftware System Performance and ReliabilityCloud Computing and Resource ManagementSoftware-Defined Networks and 5G