Junior — Middle
Můžete vysvětlit princip fungování gRPC a jeho hlavní vlastnosti?
sobes.tech AI
Odpověď od AI
gRPC je moderní rámec pro vzdálené volání procedur (RPC), který byl vyvinut společností Google. Funguje nad HTTP/2, což zajišťuje efektivní obousměrnou komunikaci, multiplexování toků a kompresi hlaviček.
Hlavní vlastnosti gRPC:
- Používá Protocol Buffers (protobuf) k popisu služeb a serializaci dat — je to kompaktní a rychlý formát.
- Podporuje různé typy volání: unary (jeden požadavek — jedna odpověď), serverové streamování, klientské streamování a obousměrné streamování.
- Poskytuje přísně typovaný kontrakt mezi klientem a serverem.
- Umožňuje snadné generování kódu v různých programovacích jazycích.
Příklad jednoduché gRPC služby v Go:
// Definice služby v protobuf
syntax = "proto3";
service Greeter {
rpc SayHello (HelloRequest) returns (HelloReply) {}
}
message HelloRequest {
string name = 1;
}
message HelloReply {
string message = 1;
}
Po vygenerování kódu lze snadno implementovat server a klienta pomocí vygenerovaných rozhraní.