API vracia 200. Prečo to ešte neznamená, že funguje?

Od dostupného endpointu k použiteľnej službe. Čo kontrolovať v odpovedi, odozve a závislostiach API.

Pracovná zostava s notebookom a monitorom zobrazujúcim kód
Fotografia: David Schultz / Unsplash

Kontrola endpointu je zelená, ale zákazník nevie načítať svoje údaje. Server prijal požiadavku a poslal odpoveď, no obchodná funkcia zostala pokazená. HTTP status je dôležitý signál, nie úplný test. Dobrý monitoring vychádza z toho, čo od API potrebuje jeho klient, a čo mu môže reálne zlyhať.

Oddeľte život procesu od pripravenosti služby

Jednoduchá kontrola života procesu môže fungovať aj počas výpadku databázy. Kontrola pripravenosti naopak posudzuje, či inštancia dokáže obslúžiť prevádzku. Tieto kontroly majú odlišný účel. Ak pri každej chybe externej služby označíte proces za mŕtvy, môžete spustiť zbytočné reštarty všetkých inštancií.

Zdravotné endpointy udržujte lacné a bez citlivých údajov. Verejná odpoveď nemá obsahovať heslá, internú topológiu ani obsah používateľských záznamov. Podrobné diagnostické údaje patria do chráneného prostredia.

Overte význam odpovede

Kontrolujte očakávaný status, typ obsahu a vhodnú stabilnú časť odpovede. Niektoré aplikácie vracajú chybu vo vnútri JSON dokumentu so statusom 200. Iné namiesto JSON vrátia prihlasovaciu HTML stránku. Oboje môže jednoduchý uptime test vyhodnotiť ako úspech, hoci klient odpoveď nevie použiť.

Zvoľte reprezentatívnu, bezpečnú operáciu

Vyberte čítanie, ktoré preverí dôležitú cestu cez aplikáciu a databázu. Použite vyhradený testovací účet s minimálnymi oprávneniami a stabilné testovacie dáta. Monitor nesmie vytvárať skutočné objednávky, posielať zákazníkom správy ani meniť produkčné záznamy pri každej kontrole.

Ak potrebujete testovať zápis, pripravte oddelený scenár s vyčistením dát a jasným dohľadom. Tajné tokeny nesmú byť v URL ani vo verejnom repozitári. Rotáciu prístupových údajov zahrňte do údržby monitoru, aby vypršané oprávnenie nevyzeralo ako výpadok služby.

Sledujte latenciu aj chyby, nie iba priemer

Úspešná odpoveď po dlhom čakaní môže byť pre používateľa nepoužiteľná. Nastavte hranicu odozvy podľa účelu endpointu a sledujte vývoj v čase. Interné meranie percentilov dopĺňa externé kontroly: ukáže aj pomalý chvost požiadaviek, ktorý priemer schová.

  • Dostupnosť a očakávaný HTTP status.
  • Typ a význam obsahu odpovede.
  • Odozva a časové limity klienta.
  • Funkčnosť dôležitej, bezpečnej zákazníckej cesty.

Čo si odniesť

Začnite jedným užitočným testom hlavnej funkcie API. Lacný healthcheck ponechajte ako doplnok; dôveru v službu budujte na výsledku, ktorý vie klient naozaj použiť.

Dokumentácia a ďalšie čítanie

Mgr. Martin Hlavaj, MBA

Softvérový inžinier

Všetky články

O výpadku sa dozviete včas.

Pridajte svoj web alebo API do UpBota a nastavte, komu príde upozornenie.

Začať monitorovať zadarmo