Sobes.tech
Senior

Ռեզյումեում նշվում է, որ դուք իրականացրել եք tracing — կարող եք ավելին պատմել?

sobes.tech AI

Պատասխան AI-ից

Նախագծում տրեյսինգի ներդնումը նշանակում էր տարածված տրեյսինգի համակարգի ինտեգրացիա՝ միկրոսերվիսների կատարողականությունը մոնիտորինգ և վերլուծելու համար: Ես օգտագործեցի OpenTelemetry՝ տվյալների հավաքագրման և փոխանցման համար՝ սպասումների, սխալների և հարցումների ուղիների մասին ծառայությունների միջև: Դա թույլ տվեց հայտնաբերել համակարգի խոչընդոտները, օպտիմալացնել արձագանքման ժամանակը և բարելավել խնդիրների ախտորոշումը:

Օրինակ՝ Go հավելվածում ես ավելացրեցի միջնորդ, որը ստեղծում է սպաներ յուրաքանչյուր HTTP հարցման համար, փոխանցելով կոնտեքստը հաջորդ զանգերի շղթայում:

import (
    "go.opentelemetry.io/otel"
    "go.opentelemetry.io/otel/trace"
    "net/http"
)

func tracingMiddleware(next http.Handler) http.Handler {
    tracer := otel.Tracer("my-service")
    return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
        ctx, span := tracer.Start(r.Context(), r.URL.Path)
        defer span.End()
        next.ServeHTTP(w, r.WithContext(ctx))
    })
}

Այսպիսով, մենք ձեռք բերեցինք թափանցիկություն ծառայությունների աշխատանքի մեջ և հնարավորություն՝ արագ արձագանքել միջադեպերին։