gRPC | Funktionsweise einfach erklärt + gRPC vs REST


gRPC hat viele Vorteile: Die Technologie lässt sich relativ leicht umsetzen, weil sie bei der Erstellung der .proto-Dateien eine einfache und recht schnell erlernbare IDL verwendet. Damit können selbst betagte Programme unkompliziert um eine leistungsfähige gRPC-Schnittstelle erweitert werden und deutlich schneller auch große Dateien übertragen.

Zudem ist gRPC vielfach getestet und hochskalierbar, wodurch auch komplexere und umfangreichere Kommunikationen z. B. in global vernetzten Client-Server-Architekturen als Einsatzgebiet infrage kommen. Dabei erhöht HTTP/2 die Effizienz nicht nur durch Multiplexing und bidirektionales Streaming. Es sind auch Header-Komprimierungen möglich, die das Datenvolumen von Anforderungen und Antworten im Netzwerk nennenswert reduzieren.

Durch den mehrschichtigen und stark standardisierten Aufbau des gRPC-Frameworks lässt sich der Programmieraufwand reduzieren. Entwickler können sich somit primär auf die Implementierung der Methoden konzentrieren. Sind Anpassungen nötig, profitieren Programmierer und Systementwickler von der freien Zugänglichkeit der Quellcodes.

Protocol Buffers und die entsprechenden Protobuf Compiler ermöglichen zudem eine grenzüberscheitende Kommunikation: Unterschiedliche Betriebssysteme, disparate Komponenten von Client-Server-Architekturen und verschiedene Programmiersprachen stellen keine Hürde mehr dar. So kann eine Software, die in C geschrieben ist, etwa mit Java-Software kommunizieren. Protobuf Compiler stehen mittlerweile für viele weitere Sprachen zur Verfügung, z. B. für C#, C++, Go, Objective-C, Java, Python, Node.js, Android Java, Swift, Ruby und PHP.

Vorteilhaft ist auch die Flexibilität von gRPC. Es kann beispielsweise gleichermaßen zum Datenaustausch von Microservices oder von mobilen Apps verwendet werden, die ihre Daten mit Servern teilen. Ein weiterer Pluspunkt: Das Protokoll erlaubt die Implementierung von aktuellen Sicherheitstechnologien. gRPC verfügt über eine integrierte Authentifizierung und fördert die Verwendung vonSSL/TLS zur Authentifizierung und zur Verschlüsselung des Austauschs.

Zu den Schwächen von gRPC zählen: Das Testen von gRPC-Schnittstellen ist beim derzeitigen Stand der Entwicklung noch verbesserungswürdig. gRPC-Nachrichten, die mit protobuf codiert werden, sind nicht von Menschen lesbar. Bei der Analyse des Datenverkehrs und speziell bei der Fehlersuche und -behebung (Debuggen) müssen also zusätzliche Instanzen eingesetzt werden, um den Code in eine verständliche Form zu überführen und dadurch Fehlerquellen zu lokalisieren. Weitere Nachteile resultieren aus der Vernetzung von verteilten Client-Server-Architekturen. gRPC verbindet Rechner über Entfernungen und ist somit anfälliger als lokale Systeme. Es ist von einem stabilen und leistungsfähigen Netz abhängig, zudem sollten Netzwerk, Datenverkehr, Übertragungsprotokolle sowie Client und Server Hackern keine Angriffspunkte bieten. Ein weiterer Nachteil ist, dass gRPC kein Multicasting unterstützt.



Source link

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.