Sari la conținut
mcstack.dev
Blog
· 2 min di lettura

Integrările se strică: important e să afli tu primul

O legătură între două sisteme nu este o lucrare care se termină. Trebuie să știi când se oprește, înainte să îți spună un client.

O integrare între două sisteme nu e o lucrare care se predă și se termină. E un lucru viu care depinde de software-ul altora: un API schimbă versiunea, un certificat expiră, furnizorul programului de gestiune actualizează și mută un câmp, parola unui serviciu e schimbată de cineva care nu știa că servea și acolo.

Mai devreme sau mai târziu se oprește. Diferența dintre un deranj și o pagubă e cine observă primul.

Cazul cel mai rău

Cazul cel mai rău nu e legătura care se rupe cu o eroare vizibilă. E aceea care se oprește în tăcere: comenzile încetează să ajungă în gestiune marți, nimeni nu observă pentru că nu e nimic de observat, iar vineri sună un client să întrebe unde e livrarea. În acel punct sunt trei zile de comenzi de recuperat manual și o persoană care trebuie să afle care au trecut deja și care nu.

Tot ce urmează servește la evitarea acelui telefon.

Ce trebuie să existe

Repetare fără dublare. Dacă o comandă e trimisă de două ori, în gestiune trebuie să rămână un singur document. E proprietatea care face sigură reîncercarea după o eroare — fără ea, fiecare recuperare e un risc.

Reîncercări automate, cu pauze crescânde. Majoritatea defecțiunilor durează minute: sistemul de dincolo e ocupat, rețeaua a avut un sughiț. Reîncercarea singură după un minut, apoi cinci, apoi douăzeci, rezolvă majoritatea cazurilor fără ca nimeni să observe.

O coadă vizibilă. Ce nu a trecut încă trebuie să stea undeva unde se poate privi, număra și retrimite. Dacă data eșuată dispare, singurul mod de a o regăsi e să o cauți în sistemul de plecare, de mână.

O alarmă pe cantitate, nu doar pe eroare. O eroare izolată poate fi normală. Zero comenzi importate în șase ore de zi lucrătoare nu e, chiar dacă nicio eroare nu a fost înregistrată. A doua verificare e cea care prinde defecțiunile tăcute.

Jurnale lizibile. Nu «Error 500», ci care comandă, care câmp, ce răspuns a venit. Diferența dintre a rezolva în zece minute și a pierde o după-amiază ghicind.

Întrebarea de pus celui care ți-o construiește

Una singură, iar răspunsul spune tot: «Dacă integrarea asta se oprește la noapte, cine află și cum?»

Dacă răspunsul e «ne dăm seama când ne sunați», integrarea e făcută pe jumătate. Legătura care mută datele e partea ușoară; partea care valorează e cea care îți spune, înaintea clientului, că datele au încetat să se mute.

Cântărești o alegere asemănătoare?

Primești răspuns într-o zi lucrătoare. Dacă proiectul nu intră în ceea ce fac, îți spun imediat și îți indic unde să te adresezi.