Skip to main content

Example for fiber as a client to gRPC server.

Github StackBlitz

A sample program to showcase fiber as a client to a gRPC server.

Prerequisites

  • Go 1.25 or higher
  • Go modules

Setup

  1. Clone the repository:

    git clone https://github.com/gofiber/recipes.git
    cd recipes/grpc
  2. Install dependencies:

    go mod tidy

Running the Application

  1. Run the gRPC server:

    go run server/main.go
  2. Run the Fiber client:

    go run client/main.go
  3. The server will start on http://localhost:3000.

Endpoints

MethodURLReturn value
GET/add/:a/:ba + b
GET/mult/:a/:ba * b

Output

-> curl http://localhost:3000/add/33445/443234
{"result":"476679"}
-> curl http://localhost:3000/mult/33445/443234
{"result":"14823961130"}

Regenerating Proto Files

If you modify proto/service.proto, regenerate the Go bindings with one of the following methods:

Using protoc

Install the required tools:

go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest

Then regenerate:

protoc --go_out=. --go_opt=paths=source_relative \
--go-grpc_out=. --go-grpc_opt=paths=source_relative \
proto/service.proto

Using buf

Install buf: https://buf.build/docs/installation

buf generate

Additional Information

gRPC (gRPC Remote Procedure Calls) is a high-performance, open-source universal RPC framework initially developed by Google. It uses HTTP/2 for transport, Protocol Buffers as the interface description language, and provides features such as authentication, load balancing, and more.

For more information, visit the official gRPC documentation.