Triển khai đơn giản của gRPC với Golang

Nguyễn Duy Nam
3 min readApr 25, 2022

--

Trong phần trước ta đã tìm hiểu Tổng quan về gRPC. Trong phần này ta sẽ cùng triển khai đơn giản của gRPC với Golang và cài đặt Unary API.

1. Setup môi trường, generate code

  • Cài đặt Protocol Buffer v3 :
go get -u github.com/golang/protobuf/protoc-gen-go
go get -u google.golang.org/grpc
  • Setup thư mục :

Đầu tiên, tạo file .proto

Hình 1.1
$ protoc calculatorpb/calculator.proto  --go_out=plugins=grpc=:.

Chạy lệnh trên sẽ tạo ra một tệp có tên: calculator.pb.go

calculator.pb.gochứa tất cả phương thức và cấu trúc, giao diện, v.v. mà chúng ta có thể sử dụng cho chức năng của mình.

Hình 1.2

2. Setup server

Tạo thư mục đường dẫn server/server.go và làm theo hướng dẫn bên dưới

Chạy lệnh $ go run server/server.gođể xem kết quả

Hình 2

Server đã hoạt đông thành công!

3. Setup client

Tiếp tục, tạo thư mục đường dẫn client/client.go và làm theo hướng dẫn bên dưới.

Chạy lệnh $ go run client/client.gođể xem kết quả.

Hình 3

4. Cài đặt Unary API

  • Trong file calculator.proto tạo 2 message SumRequestSumResponse. (hình 4.1)
Hình 4.1

Sau đó chạy lại lệnh

$ protoc calculatorpb/calculator.proto  --go_out=plugins=grpc=:.

Để generate ra code trong calculator.pb.go

  • Tiếp tục ta triển khai hàm Sum trong file server.go (Hình 4.2)
Hình 4.2
  • Tạo hàm callSum trong file client.go (Hình 4.3)
Hình 4.3
  • Cuối cùng chạy chương trình để xem kết quả
Hình 4.4 kết quả

Lời kết

Trong blog này, ta đã triển khai đơn giản của gRPC với Golang, setup môi trường, generate code, setup server, setup client và cài đặt Unary API. Tôi hy vọng tất cả các bạn sẽ hiểu hơn về cách sử dụng gRPC.

Link source code: https://github.com/nguyenduynamhg/gRPC-Demo.git

— — —

Cảm ơn vì đã đọc!

Link tài liệu tham khảo: https://www.youtube.com/watch?v=x8dybRs5q_g&list=PLC4c48H3oDRzLAn-YsHzY306qhuEvjhmh&index=1

--

--