Rätt domän, fungerande ljud, helt fel backend.
Ett av de mest frustrerande felen var när allt såg korrekt ut utifrån. Sidan laddade. Streamen gav ljud. Ändå kom innehållet från fel källa.
Problemet visade sig ligga i en gammal proxyväg som fortfarande pekade mot en tidigare intern tjänst. Det var ett typexempel på hur en modulär miljö kan lura mig: varje enskild komponent är frisk, men kopplingen mellan dem är fel.
Efter det började jag dokumentera routingen mycket striktare. Relay 7 Gateway fick tydliga vägar för webb, now-playing, appstatus, spelare och andra API:er. Jag började också testa tjänsterna både direkt internt och genom den publika vägen.
1. svarar interna tjänsten?
2. svarar gatewayn lokalt?
3. matchar host/path rätt backend?
4. fungerar TLS/DNS utifrån?
5. får klienten rätt payload?Den ordningen har sparat mycket tid senare. Jag försöker numera bevisa varje länk i kedjan i stället för att ändra tre saker samtidigt.
Jag ändrade en sak i taget efter det
Routingfelet lärde mig en disciplin som jag försöker följa hårdare nu: ändra inte backend, gateway och DNS i samma felsökningssteg. Om jag gör tre förändringar och problemet försvinner vet jag inte vilken som löste det.
Numera försöker jag få ett bevis per lager. Curl-liknande probe mot intern tjänst. Samma payload via Gateway. Sedan extern väg. Först därefter klienten. Det är långsammare de första fem minuterna och mycket snabbare efter en timme.
Jag slutade felsöka med “ändra tills det funkar”
Fel routing var ett bra exempel på varför metod spelar roll. Hade jag samtidigt ändrat streamkonfiguration, gateway och DNS hade problemet kanske försvunnit men jag hade inte vetat varför.
Efter det försöker jag arbeta med bevis. Först intern tjänst direkt. Sedan samma tjänst via Gateway. Sedan publik adress. Sedan klienten. Om ett steg fungerar och nästa inte gör det ligger felet mellan dem.
backend_ok = probe(internal_service)
gateway_ok = probe(public_route_locally)
dns_ok = resolve(public_name)
tls_ok = handshake(public_name)
client_ok = load(real_client)Den typen av disciplin har blivit ännu viktigare ju fler tjänster jag byggt.