Junior — Middle
Wyjaśnij, co oznaczają metadane w protokole gRPC i jaką pełnią rolę.
sobes.tech AI
Odpowiedź od AI
W gRPC, metadane to dodatkowe informacje, które są przesyłane razem z żądaniem lub odpowiedzią, ale nie są częścią głównego ciała wiadomości.
Rola metadanych:
- Przesyłanie informacji serwisowych, takich jak tokeny uwierzytelniania, identyfikatory sesji, ustawienia językowe.
- Zarządzanie zachowaniem wywołania (np. limity czasowe, priorytety).
- Pomagają w implementacji dodatkowych poziomów logiki bez zmiany struktury głównej wiadomości.
W Go metadane są reprezentowane jako pary klucz-wartość i mogą być dodawane do kontekstu wywołania. Na przykład:
import (
"context"
"google.golang.org/grpc/metadata"
)
md := metadata.Pairs("authorization", "Bearer token123")
ctx := metadata.NewOutgoingContext(context.Background(), md)
// ctx jest przekazywany do wywołania gRPC