gRPC hiện tại cũng đã hỗ trợ khá đầy đủ các ngôn ngữ như C++, C#, Java, Python, Go, ...
Một số điểm mạnh của gRPC
RPC framework hiện đại, nhẹ và hiệu năng cao
Phát triển API dựa trên Protocol Buffers cho phép triển khai trên bất kỳ ngôn ngữ nào
Hỗ trợ máy khách, máy chủ và các cuộc gọi truyền phát hai chiều
Các bạn tham khảo thêm tài liệu trên trang chủ của gRPC tại đây
https://grpc.io/docs/
Bài này sẽ hướng dẫn chạy một ví dụ cơ bản nhất triển khai gRPC trên ASP .NET Core
Tham khảo cấu trúc của toàn ví dụ ở ảnh bên dưới
Các công cụ cần thiết
Visual Studio 2019 hoặc Visual Studio 2019 Preview.NET Core 3.0
Các bạn có thể tải về code mẫu ở đây
Cài đặt gRPC Server
Tạo project hỗ trợ sẵn template grpc với lệnh saudotnet new grpc -o GrpcServer
Cấu trúc cơ bản gồm các phần sau
Các file .proto để định nghĩa các messages và các services. Tham khảo file user.proto bên dưới
Ở đây đơn giản mình chỉ định nghĩa một service GrpcUser với phương thức GetUser nhận vào message GetUserRequest và trả về message GetUserResponse tương ứng đều được định nghĩa trong cùng file proto này
Implement các services vừa định nghĩa
Cấu hình map các gRPC services vào host thông qua file Startup.cs
Tiến hành chạy thử
cd GrpcServer
dotnet run
Cài đặt gRPC Client
dotnet new console -o GrpcClientCài đặt các packages cần thiết
Google.Protobuf
Grpc.Net.Client
Grpc.Tools
dotnet add package Google.Protobuf
dotnet add package Grpc.Net.Client
dotnet add package Grpc.Tools
Copy tất cả các file .proto ở phần Server và bỏ vào thư mục Protos
Tạo kết nối tới Server và kiểm tra gọi các services
Chạy thử và kiểm tra trên quả
cd GrpcClient
dotnet run
Tham khảo
https://www.stevejgordon.co.uk/early-look-at-grpc-using-aspnet-core-3
Tiếp tục cập nhật ...