Junior — Middle
Обяснете какво се разбира под метаданни в протокола gRPC и каква роля изпълняват.
sobes.tech AI
Отговор от AI
В gRPC метаданните са допълнителна информация, която се предава заедно с заявката или отговора, но не е част от основното тяло на съобщението.
Ролята на метаданните:
- Предаване на служебна информация като токени за удостоверяване, идентификатори на сесии, езикови настройки.
- Управление на поведението на извикването (например, таймаути, приоритети).
- Помагат за реализиране на допълнителни нива на логика без промяна на структурата на основното съобщение.
В Go метаданните са представени като двойки ключ-стойност и могат да бъдат добавени към контекста на извикването. Например:
import (
"context"
"google.golang.org/grpc/metadata"
)
md := metadata.Pairs("authorization", "Bearer token123")
ctx := metadata.NewOutgoingContext(context.Background(), md)
// ctx се предава към gRPC извикването