awesome-grpc
A curated list of useful resources for gRPC
AI summary
gRPC toolkit
A curated collection of resources and tools for building and using gRPC-based systems
- stars
- 7.7K
- forks
- 577
- watching
- 175
- awesome lists
- 2
- entries
- 336
What's in the list
336 links in 34 sections, with live GitHub stats.activeno commit in 2y
Documentation
- 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
grpc-errors
Code examples in each language on how to return and handle error statuses
- API Design Guide
Google Cloud API Design Guide useful for gRPC API design insights
Community
- Community links
Mailing list, Gitter, Twitter, Reddit
Official Libraries and Tools
gRPC Core
C, C++, Ruby, Node.js, Python, PHP, C#, Objective-C
gRPC Java
The Java gRPC implementation. HTTP/2 based RPC
gRPC Kotlin
The Kotlin gRPC implementation. Based on gRPC Java
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 Dart
The Dart language implementation of gRPC
gRPC C#
The C# language implementation of gRPC
gRPC Web
gRPC for Web Clients
- gRPC Ecosystem
gRPC Ecosystem that complements gRPC
gRPC contrib
Known useful contributions around github
grpc_cli
gRPC CLI tool
Tools / CLI
polyglot
A gRPC command line client written in Java
grpcc
Node.js grpc command-line client
gcall
Simple Node.js gRPC command line interface
Evans
more expressive universal gRPC (CLI) client
grpcurl
Like cURL, but for gRPC: Command-line tool for interacting with gRPC servers
- httpyac
a command line client for executing integration tests for all kinds of requests (gRPC, HTTP, MQTT, Websocket)
protodot
Transforming your .proto files into .dot files (and .svg, .png if you happen to have graphviz installed)
grpc-client-cli
interactive gRPC client
proto2asciidoc
Generate AsciiDoc documentation from a .proto file
proto-to-postman
Create postman API import collection from .proto files
gWhisper
Client with interactive tab-completion (uses reflection) and human readable format
grpcdebug
Debugs serving gRPC applications with tools like channel trace info, xDS config dump, and health checking
- sylk
A gRPC framework for building projects in , / and from a simple CLI and powerful UI platform
grpcmd
A simple, easy-to-use, and developer-friendly CLI tool for gRPC
Tools / GUI
- Postman
Create, test, and debug gRPC services directly from Postman
letmegrpc
Generate a web form gui from a grpc specification
omgRPC
(Deprecated) - A GUI client for interacting with gRPC services, similar to what Postman is for REST APIs
grpcui
An interactive web UI for gRPC, along the lines of postman (also, a Go library for embedding these web UIs into Go HTTP servers)
BloomRPC
(Deprecated) - A nice and simple GUI Client. Exploring and interacting with gRPC and gRPC-web services has never been simpler, Inspired By GraphQL-Playground and Postman
gRPCox
Like Postman, but for gRPC. web based GUI Client for gRPC, extremely easy to use
- vscode-httpyac
A VSCode extension which supports sending all kinds of requests (gRPC, HTTP, MQTT, Websocket)
Milkman
Extensible alternative to Postman for crafting all kinds of requests, not only for gRPC, also http, sql etc
MuninRPC
Protobuf request and response testing application under the gRPC system
Delivery
A simple electron app for gRPC that uses gRPCurl to autodetect all endpoints/methods and their request bodies, just modify the JSON body. Simplicity in mind
(Yodelay.io)
A browser GUI Making sure your outbound 🗣️ ‘yodelay’ returns the ‘IiiOoo’ 📣 that you expect
Wombat
A cross platform gRPC client. Auto-generates input fields from your proto files or the gRPC reflection API. Not another Electron app - built with Qt and Go
- Kreya
A gRPC and gRPC-web client supporting environments, templating, authentication schemes and file based syncing
Plumber
Another one GUI for GRPC requests (reflection only)
- Fint
Create, run, manage performance tests and functional tests cases for gRPC service in a single (commercial) tool
- Protocall
A browser-based gRPC & protobuf API client. Integrates with Github and automatically resolves all proto imports with no manual configuration
- Grip
Native macOS client for interacting with gRPC services
ezy
🔥 Fully-featured GUI client for gRPC/gRPC-Web
Warthog
A cross platform gRPC client. Input generation for all types, including nested and looped messages. Saving requests and servers
ptg
GUI gRPC client, it is also a performance testing tool
- Kalisto
Automate and test intricate gRPC API workflows with ease using JavaScript-based scripting
Tools / Testing
ghz
Simple gRPC benchmarking and load testing tool inspired by hey and grpcurl
gatling-grpc
A stress test plugin for gRPC
karate-grpc
Example of using to integrate and test gRPC
strest-grpc
A load tester for stress testing grpc intermediaries
hazana
A Go package for creating load test tooling. Supports gRPC
fortio
A microservices (http, grpc) load testing library and tool from Istio project
grpc-swagger
Debugging gRPC application with swagger-ui
grpc-tools
A suite of gRPC debugging tools. Like Fiddler/Charles but for gRPC
jmeter-grpc-plugin
A plugin supports load test gRPC service with Jmeter
camouflage
Camouflage is a backend mocking tool for HTTP, gRPC and Websockets protocols
Mediator
Cross-platform GUI gRPC debugging proxy like charles but design for gRPC
grpc_bench
A suite of gRPC benchmarks for different technologies
grpcdump
Tool for capture and decode GRPC messages from ethernet traffic only for Linux
- nosymouse
Saas tool to functional, perfomance and secure testing gRPC
Step CI
Open-Source API Testing and Monitoring (now with gRPC support!)
Microcks
A 🚀 dedicated to API Mocking and Testing ( )
Tools / Other
kafka-pixy
gRPC/REST proxy for Kafka
grpc-proxy
gRPC reverse proxy with the goal of making it easy to expose gRPC services over the internet
ratelimit
Go/gRPC service designed to enable generic rate limit scenarios from different types of applications
- ProfaneDB
A Protocol Buffers database with gRPC API, built in C++ on top of RocksDB
danby
A grpc proxy for the browser
docker-protoc
Dockerized protoc, grpc-gateway, and grpc_cli commands bundled with Google API libraries
grpc-json-proxy
A proxy which allows existing tools like Postman or curl to interact with gRPC servers
protoc-gen-gotemplate
Generic generator based on golang's template system
grpc-http-proxy
A reverse proxy server which translate JSON HTTP requests to gRPC calls based on protoreflect
grpc-mate
A dynamic proxy server that translates JSON HTTP requests into gRPC calls
jawlb
An unsophisticated grpclb load balancer implementation for Kubernetes and gRPC
protoc-gen-hbs
Fast and easy protobuf generation with handlebars and some helpers
grpcson
An easy to use proxy which translates JSON HTTP requests to gRPC calls with web ui
rk-grpc
Middleware and bootstrapper library for gRPC with logging, metrics, auth, tracing etc
PropaneDB
A Protocol Buffers database with gRPC API and Golang driver
APISIX
An api gateway that supports gRPC, HTTP(s) to gRPC and gRPC web request proxying
Zilla
An API gateway built for event-driven architectures and streaming that supports standard protocols such as HTTP, SSE, gRPC, MQTT and the native Kafka protocol
grpc-pentest-suite
A collection of tools for pentesting gRPC-Web, including a Burp Suite extension for manipulating gRPC-Web payloads
sabledocs
A simple static documentation generator for Protobuf and gRPC contracts
limitador
Generic rate-limiter written in Rust exposing a gRPC service that implements the Envoy Rate Limit protocol (v3)
Language-Specific / Go
- go-GRPC Micro
based gRPC framework for microservices
go-kit gRPC
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
grpc-web-devtools
Chrome Browser extension to aid gRPC-Web development
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
protoreflect
Reflection (Rich Descriptors) for Go Protocol Buffers
grpchan
Channels for gRPC: custom transports, such as in-process and HTTP 1.1
grpcui
Embed a gRPC web UI into a Go gRPC/HTTP server
clay
Minimal server platform for gRPС+REST+Swagger APIs
grpc-consul-resolver
Easy to use endpoints resolver for the services registered in the
kuberesolver
gRPC Load Balancer with Kubernetes resolver
ttrpc
GRPC for low-memory environments
grapi
😮 A surprisingly easy API server and generator in gRPC and Go
gripmock
gRPC Mock Server
grpc-gateway-boilerplate
All the boilerplate you need to get started with writing grpc-gateway powered REST services in Go
protoc-gen-struct-transformer
Transformation function generator for protocol buffers
cmux
Connection multiplexer for GoLang: serve different services on the same port! Supports gRPC
go-grpc-channelz
A channelz UI for Golang. Channelz is an approved and already implemented proposal describing the inner state of gRPC connections/channels. go-grpc-channelz provides a simple UI for channelz for easy diagnosis
goprotoc
Library for writing protoc plugins in Go; also includes a pure-Go protoc replacement
gRPC for production
A Golang project that provides the core requirements for a production-ready gRPC communication
protoc-gen-mock
A protoc plugin to generate gRPC mock services from proto definitions in Golang
Pike
— Generate CRUD gRPC backends from single YAML description
Mortar
GO framework for building gRPC (and REST) web services with DI, Telemetry and more
sqlc-grpc
Generate gRPC/HTTP server (with metrics, tracing, swagger and grpcui) from SQL
protoc-gen-fieldmask
A protoc plugin that generates fieldmask paths as static type properties of proto messages
Language-Specific / Node.js
Mali
A minimalistic gRPC microservice framework for Node.js
grpc-host-builder
Lightweight library for building gRPC services with server side interceptors support
grpc-caller
An improved Node.js gRPC client
grpc-create-metadata
Helper utility for creating gRPC
grpc-create-error
Utility function for creating for gRPC responses
grpc-error
class that wraps
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-dynamic-gateway
Like grpc-gateway, but written in node and dynamic
node-protoc-plugin
Create protoc code-generation plugins easily in nodejs
grpc-promise
GRPC promisify module for all Request/Response types: standard and stream
firecomm
Feature library for gRPC-Node
- grpc-web-gateway
– HTTP & WebSocket proxy gateway for gRPC services
grpc-reflection-js
– gRPC Reflection client for JS
Language-Specific / Java
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
grpc-spring-boot-starter
Spring Boot starter module for gRPC framework from LogNet
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
- hoverfly-java-grpc
MITM proxy for recording and simulating gRPC services
grpcmock
A gRPC Java testing tool to easily mock endpoints of gRPC services for IT or Unit testing
protoc-gen-java-optional
A Java Protoc plugin extending generated java classes with null safe and methods
- Vert.x gRPC
Asynchronous, non-blocking gRPC server and client built with the Vert.x HTTP server and client. It helps you create gRPC applications using a low-level message API or generated stubs
Language-Specific / Ruby
gruf
gRPC Ruby Framework
gapic-generator-ruby
Generates Ruby gRPC client libraries from protocol buffer definitions of an API
Language-Specific / Python
Bali
Simplify Cloud Native Microservices development base on FastAPI and gRPC
grpclib
Pure-Python gRPC implementation, based on hyper-h2 project
pytest-grpc
pytest plugin which allow test gRPC services
grpcalchemy
The Python micro framework for building gPRC application
django-grpc
Django application to build gRPC services with access to ORM, settings and everything else
garuda
Automagically Exposing Django ORM over gRPC for microservices written in any other languages
django-grpc-framework
A gRPC toolkit for Django inspired by djangorestframework
grpc_requests
GRPC for Humans! grpc reflection support client. you can request grpc just like REST(No need Stub!)
betterproto
More pythonic gRPC based on grpclib and dataclasses
Language-Specific / C#
MagicOnion
gRPC based HTTP/2 RPC Streaming Framework for .NET, .NET Core and Unity
- Grpc.Tools
gRPC and Protocol Buffer compiler for managed C# and native C++ projects. See tutorial
GrpcBrowser
a web UI for interactively debugging all types of gRPC endpoints
Language-Specific / Rust
grpc-rs
The gRPC library for Rust built on C Core library and futures
grpc-rust
Rust implementation of gRPC
tower-grpc
(Deprecated) - A client and server gRPC implementation based on Tower. Deprecated in favour of tonic
tonic
A native gRPC client & server implementation with async/await support
Language-Specific / Haskell
grpc-haskell
gRPC library binding for Haskell
Language-Specific / Erlang
Erlang grpc
Erlang library for gRPC
grpcbox
Erlang grpc client and server
bert
Erlang Google Protobuf V3 generator from HRL files
Language-Specific / Elixir
grpc-elixir
The Elixir implementation of gRPC
Language-Specific / Elm
elm-protobuf
Protoc plugin generating elm code from proto definitions
Language-Specific / TypeScript
ts-protoc-gen
Protoc Plugin for TypeScript Declarations
- protoc-gen-tstypes
Configurable Protoc Plugin to generate TypeScript types
sisyphus.js
gRPC runtime and compiler for Web Clients by HTTP transcoding. Recommend using with back-end framework
protoc-gen-grpc-gateway-ts
TypeScript client generator for the grpc-gateway project that generates idiomatic TypeScript clients that connect the web frontend and golang backend fronted by grpc-gateway
protobuf-ts
Protoc plugin and runtime for TypeScript. Generates gRPC server/client for Node.js, gRPC-Web/Twirp clients for browser, uses Fetch API
ts-proto
Transforms your .proto files into strongly-typed, idiomatic TypeScript files!
grpc-js-typescript
Examples of how to use gRPC with TypeScript & Node.js
nice-grpc
gRPC library for Node.js and the Browser with modern API and middleware support
Language-Specific / Scala
- ScalaPB
Protocol Buffer Compiler for Scala
- Akka-gRPC
Akka gRPC provides support for building streaming gRPC servers and clients on top of Akka Streams
- Mu
Mu RPC is a purely functional library for building RPC endpoint-based services with support for gRPC and HTTP/2
fs2-grpc
gRPC implementation for FS2/cats-effect using netty
http4s-grpc
A pure Scala gRPC implementation! Use it with http4s Ember and deploy on JVM, Node.js, and Native
zio-grpc
ScalaPB meets ZIO: write purely functional gRPC services and clients using ZIO
Language-Specific / Dart
- grpc-dart
Protocol Buffer Compiler for Dart
Language-Specific / Kotlin
kroto-plus
gRPC Coroutines Integration and Protobuf message DSL support
grpc-kotlin
A protoc plugin for generating native Kotlin bindings using coroutine primitives for gRPC services
gapic-generator-kotlin
Generates coroutine-based gRPC Kotlin client libraries from a protocol buffer description of an API
grpc-kapt
Annotation driven gRPC clients & servers in Kotlin with coroutines
sisyphus
Modern gRPC back-end development framework based on Kotlin/Spring Boot with Message DSL/ / support
Language-Specific / Perl
grpc-perl
Experimental Perl gRPC library supporting grpc client
Language-Specific / C++
QtProtobuf
gRPC and Protobuf generator and bindings for the Qt framework
asio-grpc
Asynchronous gRPC with or
Language-Specific / Ballerina
Ballerina gRPC
Ballerina library for gRPC
Ballerina gRPC CLI
Ballerina gRPC CLI tool
Resources / Tutorials
- 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
- How We Build gRPC Services At Namely
Blog article from Namely Labs
- Our experience designing and building gRPC services
Blog series from Bugsnag on building a new Releases dashboard backend using gRPC
- Writing gRPC Interceptors in Go
A simple tutorial on gRPC Interceptors
- How we use gRPC to build a client/server system in Go
A technical presentation on how to use gRPC (and Protobuf) to build a robust client/server system
- Serving gRPC and HTTP services on the same port
Small tutorial on how to serve http and gRPC on same port in Go
- Take a REST with HTTP/2, Protobufs, and Swagger
Small tutorial on how to serve http and gRPC on same port in Go
- OpenCensus for Go gRPC developers
Tutorial on how to use OpenCensus with gRPC and Go. Also available for and
- How to develop Go gRPC microservice with HTTP/REST endpoint, middleware, Kubernetes deployment, etc
A series of blog posts for gRPC development using Go.
- GopherJS Client and gRPC Server
A guide to implementing a GopherJS frontend to a gRPC backend exposed over HTTP via the gRPC-gateway. Also available
- The G-Unit Stack: Go, GraphQL, and gRPC
A blog post and tutorial on using Go, GraphQL and gRPC. Associated
- Envoy, gRPC, and Rate Limiting
A tutorial on using gRPC and Envoy to build a rate limit service - , VMware Open Source Technology Center
- Seamless Cloud-Native Apps with gRPC-Web and Istio
A tutorial on building a Cloud-Native web app using gRPC-Web and Istio - , VMware Open Source Technology Center
- Backward and Forward Compatibility, Protobuf Versioning, Serialization
A small article on making gRPC API changes
- Node, gRPC, and Postgres
This tutorial looks at how to implement an API with Node, gRPC, and Postgres
- Building High Performance APIs In Go Using gRPC And Protocol Buffers
An introductory gRPC Go tutorial
- Understanding gRPC
An introductory gRPC tutorial with example application in Go
- Part 1: Demystifying gRPC
A simple gRPC service with context cancelation and secure connection over SSL/TLS
- Part 2: Demystifying gRPC
Extend the service with gRPC streaming and Python backend
- Part 3: Demystifying gRPC
Add Unary and Stream gRPC Interceptors to a service and provide REST endpoints with grpc-gateway
- gRPC in Microservices
Tutorial on using gRPC in microservice architetures
- gRPC and Protobuffer API Documentation with proto2asciidoc and code2asciidoc
Tutorial on generating AsciiDoc documentation from a .proto file, includes a small gRPC demo project too
- gRPC in Go
A detailed tutorial for play gRPC with Go
- gRPC: Top 6 Things that Bite Newbies
A review of stumbling blocks for those moving to gRPC for the first time
- Writing a gRPC service with Ballerina
Getting started guide on building a simple gRPC service with Ballerina and invoking the service through a Ballerina gRPC client application
- gRPC-web: Using gRPC in Your Front-End Application
A tutorial on using gRPC-web in a frontend application
- Load balancing gRPC in Kubernetes with a service mesh
Explains issues load balancing gRPC, then employs a service mesh (istio) to L7 load balance a gRPC service in Kubernetes
- RPC Adoption and Working Architecture
Overview of gRPC and comparison with REST and WebSockets
Resources / Videos
- 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
- 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
- Creating GopherJS Apps with gRPC-Web
At FOSDEM
- justforfunc #31: gRPC Basics
JustForFunc: Programming in Go series Episode 31 covering gRPC
- Efficient service communication with gRPC
Talk at microXchg 2018 Berlin
- gRPC Java Course on Udemy
Online Course (4 hours) that walks through several examples and implementations of gRPC using the Java Language
- HTTP and JSON for your gRPC Services - Michael Hamrah
from Full Stack Fest
- Types All the Way Down — gRPC and Go Infrastructure at Lyft
Christopher Burnett at Istanbul Tech Talks
- Using gRPC for Long-lived and Streaming RPCs
Eric Anderson, Google at KubeCon North America 2018
- Intro: gRPC-Web
Stanley Cheung & Wenbo Zhu, Google at at KubeCon North America 2018
- gRPC Loadbalancing on Kubernetes
Presentation at KubeCon Europe 2018.
- Putting gRPC in Practice
Presentation on working with gRPC
- The Story of Why We Migrate to gRPC and How We Go About It
Matthias Grüter, Spotify at KubeCon + CloudNativeCon Europe 2019
- Authentication and Security in gRPC Microservices
Jan Tattermusch, Google at KubeCon + CloudNativeCon Europe 2019
- JustFootball’s Journey to gRPC + Linkerd in Production
Ben Lambert, & Kevin Lingerfelt at KubeCon + CloudNativeCon Europe 2019
- gRPC load balancing and Service Mesh
Vishal Powar, Google at KubeCon + CloudNativeCon Europe 2019
- Adopting gRPC: Overcoming Team and Technical Hurdles
GOTO 2019 • Adopting gRPC: Overcoming Team and Technical Hurdles • Josh Humphries
- Moving to gRPC Java
Mya Pitzeruse at Indeed.com
- Building Microservices with Go
A series of tutorials for building microservices with Go, covers using gRPC ( )
- Building a gRPC application in Ballerina
A Demo on how to build a gRPC application in Ballerina at gRPC Meetup
Resources / Slides
- 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
- gRPC - RPC rebirth?
Presentation about gRPC at the 23. NetPonto community meeting in Porto by Luís Barbosa
Resources / Examples
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 Examples
A collection of useful/essential gRPC Java Examples
gRPC/OpenCensus Demo
Export metrics and traces from gRPC servers and clients using Java, Go and Prometheus
go-micro-services
An demonstration of Golang micro-services that expose a HTTP/JSON frontend and then leverages gRPC for inter-service communication
Colossus
An example multi-language gRPC microservice architecture built by Bazel and targeting Kubernetes
coolstore-microservices
A containerized polyglot gRPC microservices based on .NET Core, Nodejs and more running on Istio
gRPC Microservices with Go and Kubernetes
A sample application use gRPC in microservice and deploy in kubernetes
- Making a Multiplayer Game With Go and gRPC
gRPC game example in Go.
Detailed examples for Go
A detailed gRPC example in Go
- Envoy proxy as an API gateway for gRPC microservice
A gRPC service in Go, built with Bazel and deployed into Kubernetes cluster with and REST API enabled
- gRPC Ballerina service Example
A collection of simple gRPC service examples written in Ballerina
- gRPC Ballerina client Example
A collection of simple gRPC client examples written in Ballerina
Go gRPC features examples
A collection of gRPC and Go examples showcasing features of the framework
Hello gRPC
Simple server and client examples showcasing gRPC features(including proxy and propagate, running in containers and kubernetes) with Java/Kotlin/Go/NodeJs/Python/Rust/C++/C#
GCP - Online Boutique application rewritten in Ballerina
Online Boutique application rewritten in Ballerina
Resources / Miscellaneous
- 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
- Migrating APIs from REST to gRPC at WePay
A blog post on migrating from REST to gRPC
Protocol Buffers / Documentation
- Website
Official website and documentation
Third-Party Add-ons for Protocol Buffers
List of add-ons for Protocol Buffers in main github repository
Protocol Buffers / Package Managers
buffrs
– A modern package manager for protocol buffers and gRPC architectures
Protocol Buffers / Tools
- buf
Protobuf tool that includes linting and breaking change detection. Allows many types of input including directly checking remote repositories and tarballs, and has a built-in compiler as well
prototools
Documentation generator & other tools for protobuf/gRPC
protoc-gen-apidocs
Documentation generator plugin for protobuf/gRPC
protoc-gen-doc
Documentation generator plugin for Google Protocol Buffers
Protoxygen
plugin to generate documentation for protobuf/gRPC
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.
protoc-gen-lint
A plug-in for Google's Protocol Buffers (protobufs) compiler to lint .proto files for style violations
prototool
Compile, lint, and format Protobuf files, and generate stubs for any lanuguage/plugin, along with Vim/IDE integration
protoc-gen-validate
Protoc plugin to generate polyglot message validators
go-proto-validators
Generate message validators from .proto annotations, used in Go gRPC middleware
protolock
Protocol Buffer companion tool to and . Track your .proto files and prevent changes to messages and services which impact API compatibilty
protoc-gen-map
SQL data mapper framework for Protocol Buffers
api-linter
A linter for APIs defined in protocol buffers
protoc-gen-struct-transformer
Transformation functions generator for Protocol Buffers
pbvm
Protocol Buffers Version Manager
- clang-format
Protocol Buffers formating tool Can be used to format on save in editor such as or
intellij-protobuf-plugin
IntelliJ-based IDEs Protobuf Language Plugin that provides Protobuf language support
- GenDocu
gRPC Documentation and SDK generator as a Service
protolint
A pluggable linter and fixer to enforce Protocol Buffer style and conventions
- Mouse Melon
A user-friendly Protocol Buffers data editor
Protocol Buffers / Similar
gogoprotobuf
[[Deprecated] Fork of golang/protobuf with extra code generation features
- 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
Nothing in this list matches your filter.
Featured in 2 awesome lists
Each link jumps to the spot where the list mentions awesome-grpc.
More related projects
grpc-ecosystem/grpc-gateway18.3K
smnbbrv/ngx-grpc239
pair-code/facets7.4K
mresti/grpc-workshop13
raystack/raccoon200
hopshadoop/hops309
somaticio/tensorflow.rb829
firebaseextended/protobuf-rules-gen198
tmelliott/transitnetworkmodel13
nipunn1313/mypy-protobuf659
google/pblog30
3nock/spidersuite614
mesos/mesos-go545