Pythoner
Фотография
✈️gRPC — это фреймворк удалённых вызовов (Remote Procedure Call) от Google, который использует бинарный протокол Protocol Buffers (protobuf) вместо текста (JSON).
➡️Основные преимущества перед REST:
- Скорость и компактность — бинарные данные меньше и передаются быстрее, чем JSON.
- Жёсткий контракт (IDL) — схема данных описана в .proto файле, из которого генерируются клиенты и серверы на разных языках.
- Стриминг — поддержка двунаправленных потоков (клиент - сервер), что в REST приходится эмулировать через WebSocket/SSE.
- Мульти-язычность — можно легко писать сервисы на разных языках, и они будут совместимы.
➡️Пример .proto файла:
syntax = "proto3";
service Greeter {
rpc SayHello (HelloRequest) returns (HelloReply);
}
message HelloRequest {
string name = 1;
}
message HelloReply {
string message = 1;
}
💡Заключение:
gRPC отлично подходит для high-performance микросервисов и real-time систем, где важны скорость и строгая типизация. REST же проще для публичных API и быстрой интеграции.
🐍Pythoner
14 · 1.3K ·