Example for fiber as a client to gRPC server.
A sample program to showcase fiber as a client to a gRPC server.
Prerequisites
- Go 1.25 or higher
- Go modules
Setup
-
Clone the repository:
git clone https://github.com/gofiber/recipes.gitcd recipes/grpc -
Install dependencies:
go mod tidy
Running the Application
-
Run the gRPC server:
go run server/main.go -
Run the Fiber client:
go run client/main.go -
The server will start on
http://localhost:3000.
Endpoints
| Method | URL | Return value |
|---|---|---|
| GET | /add/:a/:b | a + b |
| GET | /mult/:a/:b | a * 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.