Sobes.tech
Junior — Middle

Можете ли да обясните принципа на работа на gRPC и неговите основни характеристики?

sobes.tech AI

Отговор от AI

gRPC е модерен рамка за отдалечени извиквания на процедури (RPC), разработена от Google. Тя работи върху HTTP/2, което осигурява ефективна двупосочна комуникация, мултиплексиране на потоци и компресия на заглавия.

Основните характеристики на gRPC:

  • Използва Protocol Buffers (protobuf) за описание на услугите и сериализация на данните — това е компактна и бърза форма.
  • Поддържа различни типове извиквания: unary (едно искане — един отговор), стрийминг от сървъра, стрийминг от клиента и двупосочен стрийминг.
  • Осигурява строго типизиран договор между клиента и сървъра.
  • Позволява лесно генериране на код на различни езици за програмиране.

Пример за прост gRPC услуга на Go:

// Определение на услугата в protobuf
syntax = "proto3";

service Greeter {
  rpc SayHello (HelloRequest) returns (HelloReply) {}
}

message HelloRequest {
  string name = 1;
}

message HelloReply {
  string message = 1;
}

След генериране на кода, може лесно да се реализира сървър и клиент, използвайки генерираните интерфейси.