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 29.5K GitHub stars and 7.6K GitHub forks. Here’s a link to gRPC's open source repository on GitHub
Who uses gRPC?
Companies
152 companies reportedly use gRPC in their tech stacks, including Slack, medium.com, and Alibaba Travels.
Developers
486 developers on StackShare have stated that they use gRPC.
gRPC Integrations
Traefik, Ambassador, Axon, Cilium, and Continuous Delivery Service are some of the popular tools that integrate with gRPC. Here's a list of all 10 tools that integrate with gRPC.
Pros of gRPC
13
8
8
2
Decisions about gRPC
Here are some stack decisions, common use cases and reviews by companies and developers who chose gRPC in their tech stack.
ufclass
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?
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.