Junior — Middle
Explique o que se entende por metadados no protocolo gRPC e qual é o papel que desempenham.
sobes.tech IA
Resposta da IA
No gRPC, os metadados são informações adicionais que são transmitidas juntamente com a solicitação ou resposta, mas não fazem parte do corpo principal da mensagem.
Papel dos metadados:
- Transmitir informações de serviço, como tokens de autenticação, identificadores de sessão, configurações de idioma.
- Gerenciar o comportamento da chamada (por exemplo, tempos limite, prioridades).
- Ajudar a implementar níveis adicionais de lógica sem alterar a estrutura da mensagem principal.
Em Go, os metadados são representados como pares chave-valor e podem ser adicionados ao contexto da chamada. Por exemplo:
import (
"context"
"google.golang.org/grpc/metadata"
)
md := metadata.Pairs("authorization", "Bearer token123")
ctx := metadata.NewOutgoingContext(context.Background(), md)
// ctx é passado na chamada gRPC