Skip to Content
Practical Go
book

Practical Go

by Amit Saha
December 2021
Beginner to intermediate
416 pages
9h 36m
English
Wiley
Content preview from Practical Go

CHAPTER 8Building RPC Applications with gRPC

In this chapter, you will learn to build network applications that use Remote Procedure Call (RPC) for communication. Although the standard library supports building such applications, we will do so using gRPC, an open-source universal RPC framework. We will start off with a quick background discussion of RPC frameworks, and we will end the chapter having learned to write completely testable gRPC applications. Along the way, you will also learn to use Protocol Buffers, an interface description language and a data interchange format that enables client-server communication over gRPC. Let's jump right in.

gRPC and Protocol Buffers

When you make a function call in your program, the function will usually be one that you have written yourself, or one provided by another package—from either the standard library or a third-party package. When you build the application, the binary contains that function's implementation inside it. Now imagine that you were able to make a function call, but instead of the function defined inside the application binary, the program calls the function defined in another service over the network. That is what Remote Procedure Call (RPC) is in a nutshell. Figure 8.1 illustrates a typical overview of how an RPC client and server communicates. It shows the request flow from the client to the server. The response flow, of course, happens in reverse and traverses through the same layers as the request.

Figure ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Efficient Go

Efficient Go

Bartlomiej Plotka
Go in Practice

Go in Practice

Matt Butcher, Matt Farina
Black Hat Go

Black Hat Go

Tom Steele, Chris Patten, Dan Kottmann
INSPIRED

INSPIRED

Marty Cagan

Publisher Resources

ISBN: 9781119773818Purchase Link