A curated list of useful resources for gRPC
- Website - Official documentation, libraries, resources, samples and FAQ
- Technical documentation - Collection of useful technical documentation
- gRPC status codes - Status codes and their use in gRPC
- gRPC status code mapping - HTTP to gRPC Status Code Mapping
- Community links - Mailing list, Gitter, Twitter, Reddit
- gRPC Core - C, C++, Ruby, Node.js, Python, PHP, C#, Objective-C
- gRPC Java - The Java gRPC implementation. HTTP/2 based RPC
- gRPC Node.js - gRPC for Node.js
- gRPC Go - The Go language implementation of gRPC. HTTP/2 based RPC
- gRPC Swift - The Swift language implementation of gRPC
- gRPC Ecosystem - gRPC Ecosystem that complements gRPC
- gRPC contrib - Known useful contributions around github
- Homebrew gRPC - gRPC formulae repo for Homebrew
- grpc_cli - gRPC CLI tool
- letmegrpc - Generate a web form gui from a grpc specification
- grpcc - Node.js grpc command-line client
- gcall - Simple Node.js gRPC command line interface
- kafka-pixy - gRPC/REST proxy for Kafka
- ratelimit - Go/gRPC service designed to enable generic rate limit scenarios from different types of applications
- omgRPC - A GUI client for interacting with gRPC services, similar to what Postman is for REST APIs
- ProfaneDB - A Protocol Buffers database with gRPC API, built in C++ on top of RocksDB
- Evans - more expressive universal gRPC (CLI) client
- go-GRPC Micro - Micro based gRPC framework for microservices
- go-kit gRPC - Go Kit with gRPC as transport
- gRPC over NATS - nRPC is an RPC framework like gRPC, but for NATS.
- grpc-web - gRPC Web implementation for Golang and TypeScript
- rpcx - A RPC service framework based on net/rpc like alibaba Dubbo and weibo Motan
- grpclb - External Load Balancing Service solution for gRPC written in Go
- grpc-proxy - gRPC proxy is a Go reverse proxy that allows for rich routing of gRPC calls with minimum overhead
- go-microservice-helpers - A collection of handy snippets that simplify creation of gRPC servers and clients
- lile - Easily create gRPC services in Go
- proteus - Generate .proto files from Go source code
- protoc-gen-cobra - command line tool generator for Go gRPC
- gRPC over WebSocket - connect to a gRPC Server behind a firewall by using a pre-established WebSocket connection
- yarpc - A message passing platform for Go, including support for gRPC
- promgrpc - Prometheus instrumentation for gRPC based services
- Mali - A minimalistic gRPC microservice framework for Node.js
- Condor Framework - Framework for building gRPC services in Node JS
- grpc-caller - An improved Node.js gRPC client
- grpc-create-metadata - Helper utility for creating gRPC
Metadata
- grpc-create-error - Utility function for creating
Errors
for gRPC responses - grpc-error -
GRPCError
class that wrapscreate-grpc-error
- grpc-inspect - gRPC protocol buffer inspection utility
- Node.js Proto Files - All of the Google API's protocol buffer files
- grpc-bus - Call gRPC services (even streams!) from the browser over any two-way socket to Node and soon Go
- grpc-errors - A quick and easy way of generating errors for use with grpc
- grpc-client-promise - Grpc-promise also support Promise API. Which works very well with ES7 async await.
- gax-java - Google API Extensions for Java
- Armeria - Asynchronous RPC/REST library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC
- grpc-spring-boot-starter - Spring Boot starter module for gRPC framework
- reactive-grpc - Integrates reactive programming with grpc-java
- grpc-java-contrib - Useful extensions for the grpc-java library
- rejoiner - Generates a GraphQL schema from gRPC microservices
- gruf - gRPC Ruby Framework
- grpclib - Pure-Python gRPC implementation, based on hyper-h2 project
- MagicOnion - gRPC based HTTP/2 RPC Streaming Framework for .NET, .NET Core and Unity
- grpc-rs - The gRPC library for Rust built on C Core library and futures
- grpc-rust - Rust implementation of gRPC
- grpc-haskell - gRPC library binding for Haskell
- Erlang grpc - Erlang library for gRPC
- grpc-elixir - The Elixir implementation of gRPC
- elm-protobuf - Protoc plugin generating elm code from proto definitions
- ts-protoc-gen - Protoc Plugin for TypeScript Declarations
- ScalaPB - Protocol Buffer Compiler for Scala
- Building a gRPC service with Node.js - Google Clound Platform Codelab
- Getting Started with Microservices using Go, gRPC and Kubernetes
- gRPC in Production
- gRPC Go: Beyond the basics - GopherAcademy article
- Building High Performance APIs In Go Using gRPC - Small tutorial on building a simple API using gRPC and Go
- Bidirectional gRPC streaming for Go
- gRPC: Google's high-performance, open-source RPC framework - GothamGo 2015 by Sameer Ajmani
- Introduction to gRPC: A general RPC framework that puts mobile and HTTP/2 first - Devoxx by Mete Atamel
- gRPC: The Story of Microservices at Square - Apigee webcast
- Scalable Realtime Microservices with Kubernetes and gRPC - Mark Mandel @ Google
- Text to Speech server with gRPC and Kubernetes - justforfunc #12
- GRPC Microservices 101 - Google Developer Group Washington by Ray Tsang
- Efficient Microservices w/ Binary Protocol - gRPC 101 - By Ray Tsang
- grpc: From Tutorial to Production - GopherCon 2017 by Alan Shreve
- Scalable Microservices with gRPC, Kubernetes, and Docker - Node Interactive 2016 by Sandeep Dinesh
- Building Microservices w/gRPC & Kubernetes - Philly ETE 2016 #49 by Kelsey Hightower
- Building high performance microservices with Kubernetes, Go, and gRPC - Google Cloud Next '17 by Andrew Jessup
- Modifying gRPC Services Over Time - Eric Anderson, Google at KubeCon + CloudNativeCon 2017 - Austin
- Next Generation Services at Indeed Using gRPC - Jaye Pitzeruse, Indeed.com at KubeCon + CloudNativeCon 2017 - Austin
- Generating Unified APIs with Protocol Buffers and gRPC - A video on Protocol Buffers, gRPC and Envoy from Lyft.
- Intro to gRPC: A Modern Toolkit for Microservice Communication - A video from Twilio's Signal Conference
- gRPC and Go: Developing Efficient and Type-Safe Services
- Best Practices for (Go) gRPC Services
- Creating GopherJS Apps with gRPC-Web - At FOSDEM
- gRPC Overview - An overview at gRPC: Talk at Slack by Varun Talwar
- gRPC Design and Implementation - April 2016 talk at Stanford by Varun Talwar
- gRPC - boilerplate to high-performance scalable APIs - code.talks 2015 by Robert Kubis
- HTTP2 and gRPC - A simple introduction about HTTP2 and gRPC by Xin Gong Chang
- gRPC and Microservices - Overview of Google's open source microservices framework - gRPC, based on HTTP2 and protocol buffers. Presented at Golang Melbourne, June 2016 by Jonathan Gomez
- gRPC and Microservices - Golang Melbourne - June 2016 Go Hack Night by Jonathan Gomez
- Scalable Microservices with gRPC, Kubernetes, and Containers - DevFest Ukraine
- OpenAPI and gRPC Side by-Side - APIStrat Conference - Tim Burks
- Go+Microservices at Mercari - Taichi Nakashima at Go Conference 2017
- gifinator - A sample application demonstrating Kubernetes, gRPC, Go and cute Gophers demoed at Google GCP Next 2017
- Text to Speech server with gRPC and Kubernetes - justforfunc #12
- Multiplayer Simon Says - A Game using gRPC and Kubernetes - Sample app with Go server and clients using Node.js (on Arduino and web), and Java (Android and CLI)
- Go Microservices Example - HTTP up front, Protobufs in the rear
- Streaming RPC's using gRPC - A quick demo of bi-directional streaming RPC's using grpc, Go and Python
- gRPC Java Demos - A collection of Java gRPC examples
- gRPC/OpenCensus Demo - Export metrics and traces from gRPC servers and clients using Java, Go and Prometheus
- gRPC with Load Balancer or Proxy or on AWS - Various notes on doing gRPC behind a load balancer or proxy or on AWS
- gRPC service upgrade, versioning - A short possibly useful discussion on gRPC service upgrade and versioning
- Packaging Generated Code for gRPC Services - An article demonstrating a strategy on how to version and package gRPC libraries
- Website - Official website an documentation
- prototools - Documentation generator & other tools for protobuf/gRPC
- protoc-gen-doc - Documentation generator plugin for Google Protocol Buffers
- openapi2proto - A tool for generating Protobuf v3 schemas and gRPC service definitions from OpenAPI specifications
- Wireshark Protobuf Dissector - A Wireshark Lua plugin for decoding Google protobuf packets. Relevant PR and discussion.
- protoc-gen-lint - A plug-in for Google's Protocol Buffers (protobufs) compiler to lint .proto files for style violations
- MessagePack - It's like JSON, but fast and small
- Thrift - Thrift is an interface definition language and binary communication protocol
- TChannel - Network multiplexing and framing protocol for RPC
- Cap’n Proto - Think Protocol Buffers, except faster
- FlatBuffers - An efficient cross platform serialization library
- RSocket - Application protocol providing Reactive Streams semantics
- Twirp - A simple RPC framework with protobuf service definitions
- Greenpack - Serialization format similar to MessagePack, but adds field versioning and type annotation
Contributions welcome! Read the contribution guidelines first.
To the extent possible under law, Bojan D. has waived all copyright and related or neighboring rights to this work.