API · INTEGRÁCIÓK · MEGBÍZHATÓSÁG · 11 PERC OLVASÁS
A megbízható integráció nem egy demóadatokon futó szkript, hanem egy olyan termelési folyamat, amely tudja, hogyan kell felismerni, rögzíteni és helyreállítani a hibát.
Először határozza meg az adatok tulajdonjogát
Minden entitáshoz rendelkeznie kell egy hiteles rendszerrel. Az egyik rendszer lehet a vendég tulajdonosa, egy másik a foglalásé, a harmadik a pénzügyi bizonylaté. Ha mindkét vége szabadon változtatja ugyanazt a mezőt, a szinkronizálás versenyté válik, ahol az utolsó rekord nyer üzleti okok nélkül.
A kód megírása előtt határozza meg az adatáramlás irányát, az azonosítókat és a megfeleltetési szabályokat. Külön dokumentálja az egyik rendszerből hiányzó értékeket és az ismeretlen állapotok kezelését.
Minden fontos műveletnek idempotensnek kell lennie
A hálózat megszakíthatja a választ, miután a másik fél már feldolgozta a kérést. A küldő ekkor nem tudja, hogy a művelet sikeres volt-e, és újra kell próbálkoznia. Ha az újraküldés új foglalást vagy díjat hoz létre, az integráció nem biztonságos.
Az idempotenciakulcs, a külső azonosító és a feldolgozott események nyilvántartása felismeri az ismételt kérést, és a meglévő eredményt adja vissza. Ez kulcsfontosságú a foglalásoknál, fizetéseknél, számláknál és a szabad kapacitás változásainál.
Idempotencia nélküli újrapróbálkozás nem megbízhatósági mechanizmus; ez egy üzleti esemény megkettőzésének lehetősége.
Nem kell mindennek szinkron módon működnie
A felhasználónak nem kell öt külső szolgáltatásra várnia a belső rekord megerősítéséhez. Gyakran érdemesebb elmenteni az alaptranzakciót, közzétenni az eseményt, és a háttérben feldolgozni a kapcsolódó lépéseket. Az üzenetsor tárolja a munkát, amíg a külső rendszer nem elérhető.
Használjon szinkron hívást, ha a válasz szükséges a következő felhasználói döntéshez, például az elérhetőség végső megerősítéséhez. Az értesítések, a CRM-szinkronizálás vagy az elemzések esetében az aszinkron folyamat csökkenti a rendszerfüggőséget.
Az újrapróbálkozásnak korlátokkal kell rendelkeznie
Az átmeneti hibák esetén fokozatosan növekvő várakozással érdemes újra próbálkozni. Egy validációs hiba, ismeretlen szállásegység vagy elutasított jogosultság tíz azonos kísérlettől sem szűnik meg. Az integráció különböztesse meg az átmeneti és tartós hibákat.
Bizonyos számú újrapróbálkozás után az üzenet egy ellenőrzött hibafeldolgozási sorba kerül. Elegendő kontextusnak kell lennie ahhoz, hogy a személy megértse a problémát, és a javítás után újraindítsa a feldolgozást.
A napló nem elég üzleti kontextus nélkül
A „HTTP 400” technikai üzenet ritkán segíti a működésért felelős csapatot. A hibát a foglaláshoz, szálláshelyhez, csatornához és konkrét lépéshez kell kapcsolni. Az irányítópult mutassa a sikeres és sikertelen üzeneteket, a sor késését és az ismétlődő okokat.
A szolgáltatásokon átívelő korrelációs azonosító rövidíti a hibafeltárást. Érzékeny adatokat és hitelesítő adatokat nem szabad naplózni.
Az API-szerződés megváltozik
A külső rendszer új állapotot adhat hozzá, korlátot módosíthat vagy végpontverziót szüntethet meg. Az integráció tűrje az ismeretlen kiegészítő mezőket, de jelezze az előírt adatok hiányát. Az API-szerződés tesztjei és a tesztkörnyezet még élesítés előtt segítenek észlelni a változást.
A verziókat, a határidőket és az integráció tulajdonosát dokumentálni kell. Az „egyszer csatlakoztatva” nem azt jelenti, hogy véglegesen befejeződött; Az API-integráció két különböző ütemben fejlődő termék kapcsolata.
Alapvető ellenőrzőlista az élesítés előtt
Élesítés előtt ellenőrizze a hitelesítést, a titkos kulcsok cseréjét, az időkorlátokat, az újrapróbálkozási szabályokat, az idempotenciát, a kérési korlátokat, az azonosítók megfeleltetését, az auditot, a riasztásokat és a kézi helyreállítást. Tesztelje a duplikált vagy rossz sorrendű üzeneteket és az elérhetetlen külső szolgáltatást is, ne csak az ideális folyamatot.
Az integráció akkor sikeres, ha a csapat már nem írja át az adatokat, és a kivételek ritkábban és jobban láthatóak. Ha a napi munkához új táblázatra van szükség, "hogy nyomon kövessük, mi nem került átadásra", a rendszer még nem teljes.