Что такое gRPC и как он работает
gRPC — это фреймворк для удалённого вызова процедур (Remote Procedure Call), разработанный Google. Он особенно популярен в микросервисной архитектуре и подходит для высоконагруженных систем. 1. Зачем нужен gRPC? gRPC ориентирован на производительность и строгую типизацию. Преимущества: Использует Protocol Buffers (protobuf) — бинарный формат Транспорт HTTP/2 с поддержкой мультиплексирования Генерация кода из .proto файлов Поддержка стриминга и строгой схемы данных 2. gRPC против REST Параметр gRPC REST (JSON) Формат данных Protocol Buffers (binary) JSON (текст) Транспорт HTTP/2 HTTP/1.1 Производительность Высокая Ниже из-за объёма Инструменты Автогенерация кода Вручную Стриминг Двунаправленный Ограниченный 3. Как работает gRPC Шаг 1: Определим интерфейс в .proto файле syntax = "proto3"; service Greeter { rpc SayHello (HelloRequest) returns (HelloReply); } message HelloRequest { string name = 1; } message HelloReply { string message = 1; } Шаг 2: Сгенерируем код protoc --go_out=. --go-grpc_out=. greeter.proto Шаг 3: Реализуем сервер // Сервер func (s *server) SayHello(ctx context.Context, req *pb.HelloRequest) (*pb.HelloReply, error) { return &pb.HelloReply{Message: "Hello " + req.Name}, nil } 4. Когда стоит использовать gRPC ✅ Подходит: ...