GRPC
Entwickler (en) | |
---|---|
Erstveröffentlichung | August 2016 |
Stabile Version | 1.45.0[1] / 19. März 2022 |
Repository | |
Geschrieben in | Android Java, C#, C ++, Pfeil, gehen, Java, Kotlin/JVM, Node.js, Ziel c, Php, Python, Rubin |
Typ | Remote -Verfahrensanruf Rahmen |
Lizenz | Apache -Lizenz 2.0 |
Webseite | GRPC |
GRPC (GRPC Remote Procedure -Anrufe[2]) ist ein plattformübergreifend Open Source High Performance Remote Procedure Call (RPC) Framework. GRPC wurde ursprünglich von Google erstellt, das eine einzelne verwendet hat Allgemeine RPC-Infrastruktur genannt Stumpf Um die große Anzahl von Microservices zu verbinden, die innerhalb und über ein Jahrzehnt lang innerhalb und in seinen Rechenzentren laufen. Im März 2015 beschloss Google, die nächste Version von Stubby zu erstellen und Open Source zu machen. Das Ergebnis war GRPC, das jetzt in vielen Organisationen außerhalb von Google verwendet wird, um Anwendungsfälle von Microservices bis zur „letzten Meile“ des Computers (Mobile, Web und Internet of Things) zu betreiben. Es verwendet Http/2 Für den Transport, Protokollpuffer als die Schnittstellenbeschreibung Spracheund bietet Funktionen wie Authentifizierung, bidirektionales Streaming und Ablaufsteuerung, Blockierung oder nicht blockierende Bindungen sowie Stornierungen und Zeitüberschreitungen. Es generiert plattformübergreifende Client- und Serverbindungen für viele Sprachen. Zu den häufigsten Nutzungsszenarien gehört die Verbindungsdienste in a Microservices Stilarchitektur oder Anschluss von Kunden von Mobilgeräten mit Backend -Diensten.[3]
Die komplexe Verwendung von HTTP/2 durch GRPC macht es unmöglich, einen GRPC -Client im Browser zu implementieren, der stattdessen einen Proxy erfordert.[4]
Authentifizierung
GRPC unterstützt die Verwendung von Tls und tokenbasierte Authentifizierung. Die Verbindung zu Google Services muss TLS verwenden. Es gibt zwei Arten von Anmeldeinformationen: Channel -Anmeldeinformationen und Anrufanmeldeinformationen.[5]
Codierung
GRPC verwendet Protokollpuffer Daten codieren. Gegensätzlich zu Restapis mit JSONSie haben eine strengere Spezifikation. Aufgrund einer einzelnen Spezifikation eliminiert GRPC die Debatte und spart Entwicklerzeit, da GRPC über Plattformen und Implementierungen hinweg konsistent ist.[6]
Annahme
Eine Reihe verschiedener Organisationen haben GRPC übernommen, wie z. Uber,[7] Quadrat, Netflix, IBM, Coreos, Docker, Kakerlachdb, Cisco, Juniper -Netzwerke,[8] Spotify,[9] Zalando,[10] Dropbox,[11] und Google als ursprünglicher Entwickler.
Das Open -Source -Projekt U-BMC Verwendet GRPC, um zu ersetzen Ipmi.[12] Am 8. Januar 2019, Dropbox kündigte an, dass die nächste Version von "Courier", ihr RPC -Framework im Kern ihrer Serviceorientierte Architektur (SOA) würde migriert werden, um auf GRPC zu basieren, vor allem, weil es sich gut mit ihren vorhandenen kundenspezifischen RPC -Frameworks ausrichtet.[13]
Siehe auch
Verweise
- ^ "GRPC -Veröffentlichungen". Abgerufen 2022-02-07.
- ^ "FAQ". GRPC.
- ^ "Über GRPC". GRPC. Abgerufen 2021-05-25.
- ^ "Der Zustand von GRPC im Browser". GRPC.
- ^ "GRPC". grpc.io. Abgerufen 2020-02-24.
- ^ Jamesnk. "Vergleichen Sie GRPC -Dienste mit HTTP -APIs". docs.microsoft.com. Abgerufen 2020-02-24.
- ^ "GRPC bei Uber".
- ^ "GRPC". grpc.io. Abgerufen 2020-02-24.
- ^ "GRPC bei Spotify" (PDF). Jfokus.se. Abgerufen 2020-05-12.
- ^ "Zalando Tech Radar". openSource.zalando.com. Abgerufen 2021-04-08.
- ^ "Wie wir Dropbox von Nginx zu Gesandten migriert haben". Dropbox.tech. Abgerufen 2020-10-30.
- ^ "U-BMC". Github.com.
- ^ Nigmatullin, Ruslan; Ivanov, Alexey (2019-01-08). "Kurier: Dropbox -Migration zu GRPC". Abgerufen 2019-01-09.
Externe Links