Triển khai đơn giản của gRPC với Golang
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
$ 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.go
chứ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.
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ả
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ả.
4. Cài đặt Unary API
- Trong file calculator.proto tạo 2 message SumRequest và SumResponse. (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)
- Tạo hàm callSum trong file client.go (Hình 4.3)
- Cuối cùng chạy chương trình để xem 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