Search⌘ K
AI Features

Developing a gRPC Server

Explore how to develop a gRPC server in Go by implementing service interfaces defined in proto files. Learn to handle client requests through custom methods and set up the server with necessary packages and TCP configuration. This lesson prepares you to build and test scalable gRPC services using Go.

In this lesson, we are going to create a gRPC server based on the api.proto file presented in the previous section. Because gRPC needs external packages, we are going to need a GitHub repository to host the files, which is going to be https://github.com/Educative-Content/grpc.

Code walkthrough: gRPC server functions

The code of gServer.go (located in the server directory) that is related to gRPC (some functions were omitted for brevity) is the following:

Go (1.19.0)
package main
import (
"context"
"fmt"
"math/rand"
"net"
"os"
"time"
"github.com/Educative-Content/protoapi"
"google.golang.org/grpc"
"google.golang.org/grpc/reflection"
)

This program uses math/rand instead of the more secure crypto/rand for generating random numbers because we need a seed value to be able to reproduce random number sequences. ...