Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Evaluating the performance andusability of HTTP vs gRPC in communication between microservices
Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
2023 (English)Independent thesis Basic level (degree of Bachelor), 10 credits / 15 HE creditsStudent thesis
Abstract [en]

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. 

Place, publisher, year, edition, pages
2023. , p. 48
Keywords [en]
HTTP, gRPC, Cloud Computing, Load testing, Micro-services
National Category
Software Engineering
Identifiers
URN: urn:nbn:se:bth-24845OAI: oai:DiVA.org:bth-24845DiVA, id: diva2:1768795
Subject / course
PA1445 Kandidatkurs i Programvaruteknik
Educational program
PAGPT Software Engineering
Presentation
2023-05-31, Blekinge Tekniska Högskolan - Sal C245, Valhallavägen 1, Karlskrona, 10:15 (English)
Supervisors
Examiners
Available from: 2023-06-27 Created: 2023-06-15 Last updated: 2023-06-27Bibliographically approved

Open Access in DiVA

fulltext(1308 kB)557 downloads
File information
File name FULLTEXT02.pdfFile size 1308 kBChecksum SHA-512
d23d49228f267b96b6db20a534a8a0492b4c74e53a0205b5e4daa5c053e964f23064a9b79619b09e84eafc56dd21766e0a7b4d2660d05b6bed5356ca3c22be3e
Type fulltextMimetype application/pdf

By organisation
Department of Software Engineering
Software Engineering

Search outside of DiVA

GoogleGoogle Scholar
Total: 557 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 1066 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf