Ты делаешь код-ревью для джуниора в своей команде, который только что написал pipeline обработки данных на Go. Pipeline обрабатывает тысячи финансовых транзакций в секунду. Ты замечаешь следующий паттерн по всему коду:
type Transaction struct {
ID string
UserID string
Amount float64
Currency string
Timestamp time.Time
Metadata map[string]string
Tags []string
RawPayload [512]byte
}
func Validate(t Transaction) error { ... }
func Enrich(t Transaction) Transaction { ... }
func Persist(t Transaction) error { ... }
Сервис не может достичь целевой пропускной способности в 10 000 TPS во время нагрузочного тестирования.