Gracefully clean up in gRPC JUnit tests

June 26, 2018

It is best practice to always clean up gRPC resources such as client channels, servers, and previously attached Contexts whenever they are no longer needed.

This is even true for JUnit tests, because otherwise leaked resources may not only linger in your machine forever, but also interfere with subsequent tests. 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


gRPC ❤ Kotlin

June 19, 2018

Did you know that gRPC Java now has out of box support for Kotlin projects built with Gradle? Kotlin is a modern, statically typed language developed by JetBrains that targets the JVM and Android. It is generally easy for Kotlin programs to interoperate with existing Java libraries. To improve this experience further, we have added support to the protobuf-gradle-plugin so that the generated Java libraries are automatically picked up by Kotlin. You can now add the protobuf-gradle-plugin to your Kotlin project, and use gRPC just like you would with a typical Java project.

Read More


So You Want to Optimize gRPC - Part 2

April 16, 2018

How fast is gRPC? Pretty fast if you understand how modern clients and servers are built. In part 1, I showed how to get an easy 60% improvement. In this post I show how to get a 10000% improvement.

Read More


So You Want to Optimize gRPC - Part 1

March 06, 2018

A common question with gRPC is how to make it fast. The gRPC library offers users access to high performance RPCs, but it isn’t always clear how to achieve this. Because this question is common enough I thought I would try to show my thought process when tuning programs.

Read More


gRPC and Deadlines

February 26, 2018

TL;DR Always set a deadline. This post explains why we recommend being deliberate about setting deadlines, with useful code snippets to show you how.

Read More


2018-01-19 gRPC-Go Engineering Practices

January 22, 2018

It’s the start of the new year, and almost the end of my first full year on the gRPC-Go project, so I’d like to take this opportunity to provide an update on the state of gRPC-Go development and give some visibility into how we manage the project. For me, personally, this is the first open source project to which I’ve meaningfully contributed, so this year has been a learning experience for me. Over this year, the team has made constant improvements to our work habits and communication. I still see room for improvement, but I believe we are in a considerably better place than we were a year ago.

Read More


The gRPC Meetup Kit

September 14, 2017

If you have ever wanted to run an event around gRPC, but didn’t know where to start, or wasn’t sure what content is available - we have released the gRPC Meetup Kit! The meetup kit includes a 15 minute presentation on the basic concepts of gRPC, with accompanying slides and video for either reference or playback, as well as a 45 minute codelab that takes you through the basics of gRPC in Node.

Read More


2017-08-22 gRPC-Go performance Improvements

August 22, 2017

For past few months we’ve been working on improving gRPC-Go performance. This includes improving network utilization, optimizing CPU usage and memory allocations. Most of our recent effort has been focused around revamping gRPC-Go flow control. After several optimizations and new features we’ve been able to improve quite significantly, especially on high-latency networks. We expect users that are working with high-latency networks and large messages to see an order of magnitude performance gain. Benchmark results at the end.

This blog summarizes the work we have done so far (in chronological order) to improve performance and lays out our near-future plans.


Read More


2017-08-17 Community Meeting Update

August 17, 2017

Next Community Meeting: Thursday, August 31, 2017 11am Pacific Time (US and Canada)

Read More


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

August 17, 2017

The recent release of Flatbuffers version 1.7 introduced truly zero-copy support for gRPC out of the box.

Flatbuffers is a serialization library that allows you to access serialized data without first unpacking it or allocating any additional data structures. It was originally designed for games and other resource constrained applications, but is now finding more general use, both by teams within Google and in other companies such as Netflix and Facebook.

Read More


All blog posts

RSS feed

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.