Что такое gRPC?

Middle
1.2k просмотров
AFK Offer AI

gRPC — фреймворк удалённого вызова процедур от Google. Работает поверх HTTP/2, использует Protocol Buffers для сериализации. Быстрее REST за счёт бинарного формата и мультиплексирования.

service UserService {
    rpc GetUser(GetUserRequest) returns (User);
    rpc ListUsers(ListUsersRequest) returns (stream User);
}

Четыре типа вызовов: unary (запрос-ответ), server streaming, client streaming, bidirectional streaming. Из .proto файла генерируется клиентский и серверный код. Go — один из лучших языков для gRPC благодаря отличной поддержке в google.golang.org/grpc. Используется для межсервисного взаимодействия, где REST был бы слишком медленным.

Следующий вопрос

Как устроена map в Go?