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.
This is an online workshop. All links for video and material will be sent 24 hours prior to the workshop beginning.
This module covers general information about your instructor and course materials.
This chapter covers general environment setup and other resource related
information needed to complete the courses contained within.
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 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.
Throughout this chapter, the code samples may reference the plugin as gogo_out or go_out.
They can be used interchangeably based on what flavor of protobuf you decided to use.
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.
This chapter covers where to get more support on Go, recommends books and
videos, and list contact information for our instructors.