Protocol Buffers (protobuf) and gRPC In Go

Protocol Buffers (protobuf) and gRPC In Go

Tired of JSON over HTTP? Looking for something faster? This series will show you how to use Protocol Buffers (protobuf) and gRPC to create fast, efficient micros-services in Go. Learn how to create protobuf definitions for messages and services, as well as extend and refactor them. Then leverage them with gRPC unary and streaming services. Finally, learn how to secure them, add middleware, and trace and monitor them.

Subscribe Share
Protocol Buffers (protobuf) and gRPC In Go
  • Install and Configure Protocol Buffers (protobuf) and gRPC for Go

    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...

  • Introduction to gRPC in Go

    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 a...

  • gRPC Metadata

    Similar to how HTTP protocol can send headers, gRPC allows you to send key/value pairs via metadata. This module shows how to set and retrieve metadata, and guidelines around when to use it.

  • Observing SLA's with gRPC

    Learn how to use context to observe SLA's from both a client and server perspective.

  • Securing gRPC Services

    This chapter covers how to secure gRPC services with TLS.

  • Testing and Mocking gRPC Services

    This chapter will show how to approach testing for both client and server services. We will also cover how to mock out specific parts of the stack to enable easy unit testing.

  • gRPC Middleware

    You can implement middleware in your gRPC stack with "interceptors". This chapter will show how to create basic interceptors and cover existing third party interceptors. This module will also cover setting up basic health checks, retry logic, and load balancing.

  • gRPC Tracing and Monitoring

    This chapter will cover how to enable tracing across your distributed gRPC stack, as well as cover popular concepts such as OpenTrace and OpenCensus.