Sobes.tech
Junior — Middle

Spiega cosa si intende per metadati nel protocollo gRPC e quale ruolo svolgono.

sobes.tech AI

Risposta dell'AI

In gRPC, i metadati sono informazioni aggiuntive che vengono trasmesse insieme alla richiesta o alla risposta, ma non fanno parte del corpo principale del messaggio.

Ruolo dei metadati:

  • Trasmettere informazioni di servizio, come token di autenticazione, identificativi di sessione, impostazioni linguistiche.
  • Gestire il comportamento della chiamata (ad esempio, timeout, priorità).
  • Aiutare a implementare livelli di logica aggiuntivi senza modificare la struttura del messaggio principale.

In Go, i metadati sono rappresentati come coppie chiave-valore e possono essere aggiunti al contesto della chiamata. Per esempio:

import (
    "context"
    "google.golang.org/grpc/metadata"
)

md := metadata.Pairs("authorization", "Bearer token123")
ctx := metadata.NewOutgoingContext(context.Background(), md)
// ctx viene passato alla chiamata gRPC