Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

gRPC

From Wikipedia, the free encyclopedia
Cross-platform binary RPC protocol
gRPC
DeveloperGoogle
Initial releaseAugust 2016; 9 years ago (2016-08)
Stable release
1.72.1[1] / June 2, 2025; 5 months ago (2025-06-02)
Repository
Written inAndroid Java,C#,C++,Dart,Go,Java, Kotlin/JVM,Node.js, Objective-C,PHP,Python,Ruby
TypeRemote procedure call framework
LicenseApache License 2.0
Websitegrpc.io

gRPC (acronym forgRPC Remote Procedure Calls[2]) is across-platform high-performanceremote procedure call (RPC) framework. gRPC was initially created byGoogle, but isopen source and is used in many organizations. Use cases range from microservices to the "last mile" of computing (mobile, web, and Internet of Things). gRPC usesHTTP/2 for transport,Protocol Buffers as theinterface description language, and provides features such as authentication, bidirectional streaming andflow control, blocking or nonblocking bindings, and cancellation and timeouts. It generates cross-platform client and server bindings for many languages. The most common usage scenarios include connecting services in a microservices style architecture, or connecting mobile device clients to backend services.[3]

As of 2019, gRPC's use of HTTP/2 makes it impossible to implement a gRPC client in a browser, instead requiring a proxy.[4]

History

[edit]

From about 2001, Google created a general-purpose RPC infrastructure called Stubby to connect the large number ofmicroservices running within and across itsdata centers.[5] In March 2015, Google decided to build the next version of Stubby and make it open source. The result was gRPC.

Authentication

[edit]

gRPC supports the usage ofTransport Layer Security (TLS) and token-based authentication. Connection to Google services must use TLS. There are two types of credentials: channel credentials and call credentials.

For token-based authorization, gRPC provides Server Interceptor[6] and a Client Interceptor.[7]

Encoding

[edit]
Main article:Protocol Buffers

gRPC usesProtocol Buffers to encode data. Protocol buffers provide a serialization format and an Interface Definition Language.[8]

Testing

[edit]

Some of the software tools used for testing gRPC implementations includePostman, ezy,[9] Insomnia, and Step CI.[10]

Adoption

[edit]

Many organizations use gRPC, includingUber,[11]Square,Netflix,IBM,CoreOS,Docker,CockroachDB,Arista Networks,Cisco,Juniper Networks,[12]Spotify,[13]Zalando,[14]Dropbox,[15] and Google as the original developer.

The open source projectu-bmc uses gRPC to replaceIntelligent Platform Management Interface (IPMI).[16] On 8 January 2019,Dropbox announced that the next version of "Courier", their RPC framework at the core of theirservice-oriented architecture (SOA), would be migrated to be based on gRPC, primarily because it aligned well with their existing custom RPC frameworks.[17]

Alternatives

[edit]

See also

[edit]

References

[edit]
  1. ^"gRPC releases".GitHub. Retrieved2025-02-15.
  2. ^"FAQ".gRPC.
  3. ^"About gRPC".gRPC. Retrieved2021-05-25.
  4. ^"The state of gRPC in the browser".gRPC. 8 January 2019.
  5. ^"gRPC: a true internet-scale RPC framework is now 1.0 and ready for production deployments". 24 August 2016. Retrieved2023-04-03.
  6. ^"gRPC Server Interceptor". 27 February 2023. Archived from the original on March 7, 2023.
  7. ^"gRPC".grpc.io. Retrieved2020-02-24.
  8. ^JamesNK."Compare gRPC services with HTTP APIs".docs.microsoft.com. Retrieved2020-02-24.
  9. ^"ezy on GitHub".GitHub.
  10. ^"Step CI Documentation".
  11. ^"gRPC at Uber". 19 May 2021.
  12. ^"gRPC".grpc.io. Retrieved2020-02-24.
  13. ^"gRPC at Spotify"(PDF).jfokus.se. Retrieved2020-05-12.
  14. ^"Zalando Tech Radar".opensource.zalando.com. Retrieved2021-04-08.
  15. ^"How we migrated Dropbox from Nginx to Envoy".Dropbox.Tech. Retrieved2020-10-30.
  16. ^"u-bmc".GitHub.com. 5 October 2022.
  17. ^Nigmatullin, Ruslan; Ivanov, Alexey (2019-01-08)."Courier: Dropbox migration to gRPC". Retrieved2019-01-09.

External links

[edit]
Google free and open-source software
Software
Applications
Programming languages
Frameworks and
development tools
Operating systems
Related
Retrieved from "https://en.wikipedia.org/w/index.php?title=GRPC&oldid=1308093530"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp