Zum Hauptinhalt Zur Navigation

Webserver: Nginx unterstützt gRPC-Protokoll

Bisher konnte der Webserver Nginx gRPC-Verbindungen nur als Proxy weiterleiten. Kommende Versionen von Nginx unterstützen das Protokoll aber nativ und ermöglichen so Load-Balancer, Terminierung, Weiterleitung oder das Zusammenfassen mehrerer Dienste.
/ Sebastian Grüner
2 Kommentare News folgen (öffnet im neuen Fenster)
Der Nginx-Server unterstützt künftig das gRPC-Protokoll. (Bild: Bruno Cordioli/Flickr.com)
Der Nginx-Server unterstützt künftig das gRPC-Protokoll. Bild: Bruno Cordioli/Flickr.com / CC-BY 2.0

Mit gRPC(öffnet im neuen Fenster) hat Google ein Protokoll auf Basis von HTTP/2 und seiner eigenen Protocol Buffers geschaffen, das mittlerweile als offener Standard für Remote Procedure Calls(öffnet im neuen Fenster) (RPCs) bei der Cloud Native Computing Foundation entwickelt wird. Genutzt wird gRPC zum Verbinden verschiedener Serverdienste, aber auch für die Verbindung dieser Dienste mit Clients wie Browsern oder Mobilgeräten. Künftig unterstützt das Protokoll auch der Web- und Anwendungsserver Nginx.

Das kündigen die Entwickler des Servers in ihrem Blog(öffnet im neuen Fenster) an. Demnach werden sowohl die kommende Open-Source-Version 1.13.10 als auch das kommerzielle Nginx Plus Release R15 eine native Unterstützung für gRPC enthalten. Bisher konnte der Server lediglich als Proxy für TCP-Verbindungen per gRPC fungieren. Künftig kann der Server gRPC-Funktionsaufrufe "terminieren, untersuchen und routen" .

Aufrufe kontrollieren, weiterleiten und verteilen

Bei der Verwendung eines gRPC-Dienstes könne Nginx so die Durchsatzraten begrenzen (Rate Limiting), IP-basierte Zugriffskontrollen umsetzen und den Dienst wie gewohnt loggen. Der Server unterstützt dabei das unverschlüsselte HTTP/2 Cleartext (h2c), ebenso lässt sich eine TLS-Verschlüsselung und Authentifizierung für den Dienst umsetzen.

Die Unterstützung ermögliche es außerdem, mehrere gRPC-Dienste über einen gemeinsamen Endpunkt zur Verfügung zu stellen. Nginx kann hierbei die Funktionsaufrufe untersuchen und zu den entsprechenden internen Diensten weiterleiten. Diese Endpunkte können zudem für weitere übliche Dienste verwendet werden.

Ebenso kann Nginx, wie bei anderen HTTP-Verbindungen auch, für gRPC als Lastverteiler eingesetzt werden, um Funktionsaufrufe über einen Servercluster zu verteilen. Das ermögliche auch ein Skalieren der Dienste, falls das notwendig sei.

Technische Details zur Umsetzung liefert die Ankündigung der Entwickler.


Relevante Themen