Return to search

Evaluating the performance andusability of HTTP vs gRPC in communication between microservices

Microservices is an architectural technique that has only gotten more popular as the need for scalable and performant internet-based applications has grown. One of the characteristics of microservices is communication through lightweight protocols like HTTP. These protocols are usually provided through frameworks that enable an abstracted form of communication and when implementing services using the Go language, the most common frameworks are gRPC and net/http. The aim of this thesis is to evaluate and compare the performance and usability of gRPC and HTTP frameworks in order to determine which one is better suited for microservices so that developers can be empowered to be more informed when making choices about their technology. We investigated the performance and usability by conducting two experiments. For the first one, we created two services that were implemented as identically as possible using Go but one communicated using the net/http framework and the other using gRPC. The services implemented methods that return small, medium, and large payload sizes and were then load-tested at varying numbers of virtual users. The second experiment was conducted by recruiting a set of participants that were tasked with completing two sets of coding tasks once using gRPC and once using HTTP. After the tasks were completed they were asked to fill out a questionnaire to measure their experience using the frameworks, the answers were then turned into a score which we could use to analyze the frameworks. The results from the performance experiment indicated that gRPC performed better in terms of throughput and latency, while HTTP performed better in scalability, and the results from the usability experiment indicated that HTTP was found to be more usable by the participants.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:bth-24845
Date January 2023
CreatorsHamo, Najem, Saberian, Simon
PublisherBlekinge Tekniska Högskola, Institutionen för programvaruteknik
Source SetsDiVA Archive at Upsalla University
LanguageEnglish
Detected LanguageEnglish
TypeStudent thesis, info:eu-repo/semantics/bachelorThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.0018 seconds