Junior — Middle
Explicați ce se înțelege prin metadate în protocolul gRPC și ce rol joacă acestea.
sobes.tech AI
Răspuns de la AI
În gRPC, metadatele sunt informații suplimentare transmise împreună cu solicitarea sau răspunsul, dar nu fac parte din corpul principal al mesajului.
Rolul metadatelor:
- Transmiterea informațiilor de serviciu, cum ar fi token-uri de autentificare, identificatori de sesiune, setări de limbă.
- Gestionarea comportamentului apelului (de exemplu, timeout-uri, priorități).
- Ajută la implementarea nivelurilor suplimentare de logică fără a modifica structura mesajului principal.
În Go, metadatele sunt reprezentate ca perechi cheie-valoare și pot fi adăugate la contextul apelului. De exemplu:
import (
"context"
"google.golang.org/grpc/metadata"
)
md := metadata.Pairs("authorization", "Bearer token123")
ctx := metadata.NewOutgoingContext(context.Background(), md)
// ctx este transmis la apelul gRPC