REST در مقابل gRPC
REST از HTTP و JSON استفاده میکند، اما gRPC بر پایه HTTP/2 و Protocol Buffers بوده و سرعت بیشتری دارد.
| ویژگی | REST | gRPC |
|---|---|---|
| فرمت داده | JSON | Protobuf |
| سرعت | خوب | بسیار زیاد |
| HTTP/2 | اختیاری | الزامی |
| Browser Friendly | بله | محدود |
| مناسب Microservice | خوب | عالی |
کِی از REST استفاده کنیم؟
برای APIهای عمومی و ارتباط با Frontend یا سیستمهای مختلف.
کِی از gRPC استفاده کنیم؟
برای ارتباط بین Microserviceها با حجم زیاد درخواست.
مثال REST
GET /api/users/1
مثال gRPC
rpc GetUser(GetUserRequest) returns (UserResponse);
اشتباه رایج
استفاده از gRPC برای APIهای Public بدون بررسی نیاز کلاینتها.
جمعبندی
API عمومی → REST
ارتباط داخلی سرویسها → gRPC
