Dear gRPC

March 08, 2019

Dear gRPC, We messed up. We are so sorry that we missed your birthday this year. Last year we celebrated with cake and fanfare, but this year we dropped the ball. Please don’t think that we love you any less. You’re 4 now and that’s a big milestone! You’re part of so much amazing technology at companies like Salesforce, Netflix, Spotify, Fanatics, and of course, Google. In fact just this week the biggest API Google has went production-ready with gRPC.

Read More


The state of gRPC in the browser

January 08, 2019

This is a guest post by Johan Brandhorst, Software Engineer at InfoSum.

gRPC 1.0 was released in August 2016 and has since grown to become one of the premier technical solutions for application communications. It has been adopted by startups, enterprise companies, and open source projects worldwide. Its support for polyglot environments, focus on performance, type safety, and developer productivity has transformed the way developers design their architectures.

So far the benefits have largely only been available to mobile app and backend developers, whilst frontend developers have had to continue to rely on JSON REST interfaces as their primary means of information exchange. However, with the release of gRPC-Web, gRPC is poised to become a valuable addition in the toolbox of frontend developers.

In this post, I’ll describe some of the history of gRPC in the browser, explore the state of the world today, and share some thoughts on the future.

Read More


gRPC Meets .NET SDK And Visual Studio: Automatic Codegen On Build

December 18, 2018

As part of Microsoft’s move towards its cross-platform .NET offering, they have greatly simplified the project file format, and allowed a tight integration of third-party code generators with .NET projects. We are listening, and now proud to introduce integrated compilation of Protocol Buffer and gRPC service .proto files in .NET C# projects starting with the version 1.17 of the Grpc.Tools NuGet package, now available from Nuget.org.

You no longer need to use hand-written scripts to generate code from .proto files: The .NET build magic handles this for you. The integrated tools locate the proto compiler and gRPC plugin, standard Protocol Buffer imports, and track dependencies before invoking the code generators, so that the generated C# source files are never out of date, at the same time keeping regeneration to the minimum required. In essence, .proto files are treated as first-class sources in a .NET C# project.

Read More


Visualizing gRPC Language Stacks

December 11, 2018

Here is a high level overview of the gRPC Stacks. Each of the 10 default languages supported by gRPC has multiple layers, allowing you to customize what pieces you want in your application.

Read More


gRPC-Web is Generally Available

October 23, 2018

We are excited to announce the GA release of gRPC-Web, a JavaScript client library that enables web apps to communicate directly with gRPC backend services, without requiring an HTTP server to act as an intermediary. “GA” means that gRPC-Web is now Generally Available and stable and qualified for production use.

Read More


A short introduction to Channelz

September 05, 2018

Channelz is a tool that provides comprehensive runtime info about connections at different levels in gRPC. It is designed to help debug live programs, which may be suffering from network, performance, configuration issues, etc. The gRFC provides a detailed explanation of channelz design and is the canonical reference for all channelz implementations across languages. The purpose of this blog is to familiarize readers with channelz service and how to use it for debugging issues. The context of this post is set in gRPC-Go, but the overall idea should be applicable across languages. At the time of writing, channelz is available for gRPC-Go and gRPC-Java. Support for C++ and wrapped languages is coming soon.

Read More


gRPC on HTTP/2 Engineering a Robust, High Performance Protocol

August 20, 2018

In a previous article, we explored how HTTP/2 dramatically increases network efficiency and enables real-time communication by providing a framework for long-lived connections. In this article, we’ll look at how gRPC builds on HTTP/2’s long-lived connections to create a performant, robust platform for inter-service communication. We will explore the relationship between gRPC and HTTP/2, how gRPC manages HTTP/2 connections, and how gRPC uses HTTP/2 to keep connections alive, healthy, and utilized.

Read More


gRPC + JSON

August 15, 2018

So you’ve bought into this whole RPC thing and want to try it out, but aren’t quite sure about Protocol Buffers. Your existing code encodes your own objects, or perhaps you have code that needs a particular encoding. What to do?

Fortunately, gRPC is encoding agnostic! You can still get a lot of the benefits of gRPC without using Protobuf. In this post we’ll go through how to make gRPC work with other encodings and types. Let’s try using JSON.

Read More


Take the gRPC Survey!

August 14, 2018

The gRPC Project wants your feedback!

The gRPC project is looking for feedback to improve the gRPC experience. To do this, we are running a gRPC user survey. We invite you to participate and provide input that will help us better plan and prioritize.

Read More


HTTP/2 Smarter At Scale

July 13, 2018

Much of the web today runs on HTTP/1.1. The spec for HTTP/1.1 was published in June of 1999, just shy of 20 years ago. A lot has changed since then, which makes it all the more remarkable that HTTP/1.1 has persisted and flourished for so long. But in some areas it’s beginning to show its age; for the most part, in that the designers weren’t building for the scale at which HTTP/1.1 would be used and the astonishing amount of traffic that it would come to handle. A not-so-bad case is that subsequent tests can’t pass because of a leaked resource from the previous test. The worst case is that some subsequent tests pass that wouldn’t have passed at all if the previously passed test had not leaked a resource.

Read More


All blog posts
Dear gRPC

The state of gRPC in the browser

gRPC Meets .NET SDK And Visual Studio: Automatic Codegen On Build

Visualizing gRPC Language Stacks

gRPC-Web is Generally Available

A short introduction to Channelz

gRPC on HTTP/2 Engineering a Robust, High Performance Protocol

gRPC + JSON

Take the gRPC Survey!

HTTP/2 Smarter At Scale

Gracefully clean up in gRPC JUnit tests

gRPC ❤ Kotlin

So You Want to Optimize gRPC - Part 2

So You Want to Optimize gRPC - Part 1

gRPC and Deadlines

2018-01-19 gRPC-Go Engineering Practices

The gRPC Meetup Kit

2017-08-22 gRPC-Go performance Improvements

2017-08-17 Community Meeting Update

Announcing out of the box support for gRPC in the Flatbuffers serialization library.

gRPC Load Balancing

gRPC in Helm

Migration to Google Cloud Platform — gRPC & grpc-gateway

Building gRPC services with bazel and rules_protobuf

gRPC at VSCO

Why we have decided to move our APIs to gRPC

gRPC Project is now 1.0 and ready for production deployments

gRPC with REST and Open APIs

gRPC - now with easy installation.

Google Cloud PubSub - with the power of gRPC!

gRPC releases Beta, opening door for use in production environments.

gRPC Motivation and Design Principles.