Introduction to Protocol Buffers and gRPC with Go

Date: February 21st, 2019 - 12PM CST - 3PM CST

Creating and scaling microservice via a distributed system is a complex and challenging effort. Protocol Buffers (Protobuf) and gRPC can quickly simplify this challenge, by easily defining your messages and services with Protobuf. These are small, simple, and fast data structures. Protobuf ships with idiomatic libraries written for most of the popular languages and platforms. With gRPC, you can start quickly, and scale to millions of RPC’s per second with ease. It also supports bi-directional streaming, integrated auth, tracing, load balancing, and more.

In a nutshell, if you are embarking on a new system, or looking to extend an existing one, gRPC will allow you to accomplish that in small, manageable steps that will ensure a future system that is robust, fast, and scalable.

By the end of this course, you’ll be able to create basic protocol buffer messages, design simple gRPC services and understand how to properly handle successful and unsuccessful rpc calls.

Each attendee will receive a link 24 hours prior to the start of the workshop with links to all class material. Additionally, each attendee will receive a link after the workshop to the recording of the workshop as well.

Workshop Overview

This module covers general information about your instructor and course materials.

Getting Started

This chapter covers general environment setup and other resource related
information needed to complete the courses contained within.

Install And Configure Protobuf

Installing all the tools you need to make protocol buffers work can be
challenging. This chapter lays out in detail the steps needed to properly
install and configure your development environment for protocol buffers. It
also includes specific steps for each operating system when necessary.

Protocol Buffers

Protocol Buffers are the next step in data formats for high performance distributed
systems. In comparison to JSON or XML, protobufs can encode and decode faster, have
a smaller encoded size, and allow for use across platforms and languages.

In this chapter, we will cover how to create and use protocol buffers, as well
as how to extend them.

Introduction To GRPC

gRPC is a modern open source high performance RPC framework that can run in any
environment. In this chapter we will cover the basic concepts used in gRPC, as
well as create some simple RPC calls using protocol buffers and implement them
with gRPC. We'll also cover how to create specific errors and codes with gRPC.

Finalize

This chapter covers where to get more support on Go, recommends books and
videos, and list contact information for our instructors.