gRPC logo

gRPC

A high performance, open-source universal RPC framework

What is gRPC?

gRPC is a modern open source high performance RPC framework that can run in any environment. It can efficiently connect services in and across data centers with pluggable support for load balancing, tracing, health checking...
gRPC is a tool in the Remote Procedure Call (RPC) category of a tech stack.
gRPC is an open source tool with 32.1K GitHub stars and 8.4K GitHub forks. Here’s a link to gRPC's open source repository on GitHub

Who uses gRPC?

Companies
180 companies reportedly use gRPC in their tech stacks, including Slack, HENNGE K.K., and medium.com.

Developers
582 developers on StackShare have stated that they use gRPC.

gRPC Integrations

JavaScript, Java, Swift, C++, and Kotlin are some of the popular tools that integrate with gRPC. Here's a list of all 19 tools that integrate with gRPC.
Pros of gRPC
19
Higth performance
10
The future of API
10
Easy setup
4
Contract-based
3
Polyglot
Decisions about gRPC

Here are some stack decisions, common use cases and reviews by companies and developers who chose gRPC in their tech stack.

Shared insights
on
gRPC

What to use when and what is the main difference between gRPC or WebSockets. Is Websockets using HTTP 1.0, then how it is bidirectional?

See more
Shared insights
on
gRPC
SignalR
.NET

We need to interact from several different Web applications (remote) to a client-side application (.exe in .NET Framework, Windows.Console under our controlled environment). From the web applications, we need to send and receive data and invoke methods to client-side .exe on javascript events like users onclick. SignalR is one of the .Net alternatives to do that, but it adds overhead for what we need. Is it better to add SignalR at both client-side application and remote web application, or use gRPC as it sounds lightest and is multilingual?

SignalR or gRPC are always sending and receiving data on the client-side (from browser to .exe and back to browser). And web application is used for graphical visualization of data to the user. There is no need for local .exe to send or interact with remote web API. Which architecture or framework do you suggest to use in this case?

See more

Blog Posts

gRPC's Features

  • Simple service definition
  • Works across languages and platforms
  • Start quickly and scale
  • Works across languages and platforms
  • Bi-directional streaming and integrated auth

gRPC Alternatives & Comparisons

What are some alternatives to gRPC?
GraphQL
GraphQL is a data query language and runtime designed and used at Facebook to request and deliver data to mobile and web apps since 2012.
RabbitMQ
RabbitMQ gives your applications a common platform to send and receive messages, and your messages a safe place to live until received.
Kafka
Kafka is a distributed, partitioned, replicated commit log service. It provides the functionality of a messaging system, but with a unique design.
REST
An architectural style for developing web services. A distributed system framework that uses Web protocols and technologies.
MQTT
It was designed as an extremely lightweight publish/subscribe messaging transport. It is useful for connections with remote locations where a small code footprint is required and/or network bandwidth is at a premium.
See all alternatives

gRPC's Followers
917 developers follow gRPC to keep up with related blogs and decisions.