Jump to main content Hotkeys
Distributed and Self-organizing Systems
Distributed and Self-organizing Systems

Masterarbeit

Evaluation der Leistungsfähigkeit von gRPC und REST/JSON für Webschnittstellen
Evaluation der Leistungsfähigkeit von gRPC und REST/JSON für Webschnittstellen

Completion

2023/10

Research Area

Web Engineering

Students

Maik Schoesau

Maik Schoesau

student

Advisers

heseba

gaedke

Description (German)

Webschnittstellen sind ein zentraler Bestandteil des heutigen Internets und haben die Aufgabe, die vom Client eingehenden Anfragen entgegenzunehmen, die gewünschten Dienste auf einem Web-Server aufzurufen und gegebenenfalls die Rückgabewerte zu empfangen und dem Client zurückzusenden.
Die RESTful-Architektur ist ein bewährter Web-API-Architekturstil, welcher mit unterschiedlichen HTTP-Endpunkten arbeitet.
Bei Web-Anwendungen, welche mit vorwiegend strukturierten Daten arbeiten, wird oftmals der Content-Type “application/json“ zur Übertragung der Daten gewählt.
Dies führt aufgrund der zugrundeliegenden Datenstruktur und der benötigten JSON-Serialisierung und -Deserialisierung der Daten im Client und im Server zu großen Nachrichtenpaketen und Latenzen.
gRPC ist eine leistungsstarke Technologie zum Aufrufen von Funktionen auf entfernten Geräten wie PCs und Servern.
Der Standard erlaubt es dabei den Payload im Binärformat zu übertragen, was im Vergleich zu textbasierten Formaten zu kleinen Datenpaketen führt.
Zudem entfällt im Vergleich zu REST das serialisieren und deserialisieren der übertragenen Daten auf Client- und Serverseite in das aufwendige JSON-Format.
Für Endnutzer von Dienstleistungen im Web ist die Performanz für ein gutes Nutzererlebnis entscheidend.
Daher ist die Nutzung von Übertragungstechnologien mit geringem Ressourcenbedarf speziell in Regionen mit kleinen Datenübertragungsraten von großer Bedeutung.
Darüber hinaus ist davon auszugehen, dass bei kleineren Datenpaketen im Netzwerk die Netzauslastung, die Serverlast und damit auch der Energiebedarf verringert werden kann.

Diese Masterarbeit untersucht die möglichen Leistungsvorteile von gRPC mit binären Datenpaketen gegenüber den etablierten REST-Webschnittstellen mit JSON-basierten Datenpaketen.
Dabei soll der Unterschied hinsichtlich der Performanz – insbesondere bezüglich der Nachrichtengröße, Latenz und Serverlast – zwischen gRPC und REST mit JSON bestimmt werden, und bei welchen Nachrichtengrößen dieser Effekt am deutlichsten auftritt.
Abschließend ist der Unterschied zwischen gRPC und REST hinsichtlich des Implementierungsaufwands zu bestimmen.
Hierzu sind zwei Varianten einer API – eine mit den REST/JSON Endpunkt und eine mit gRPC – zu implementieren und eine Webanwendung in den jeweils entsprechenden Varianten zu erstellen, die die identischen Funktionen der beiden API Varianten über HTTP oder gRPC aufruft und die übermittelten Informationen der API darstellt.

Ziel dieser Arbeit ist die Erarbeitung von Rahmenbedingungen und Best Practices zur Nutzung von gRPC in Webanwendungen anstelle von REST Webschnittstellen mit JSON.
Dies umfasst die Analyse des Stands der Technik von Werkzeugen zur Analyse und Messung der notwendigen Metriken, darauf aufbauend die experimentelle Untersuchung der Performanz beider Technologien hinsichtlich der oben beschriebenen Metriken, sowie die Evaluation des Implementierungsaufwands.
Darüber hinaus sind die Nachrichtengrößen zu ermitteln, bei welchen gRPC hinsichtlich der genannten Metriken besser performt.


Powered by DGS
Edit list (authentication required)

Press Articles