Az Azure Database for PostgreSQL átmeneti csatlakozási hibáinak kezelése – Önálló kiszolgáló
A KÖVETKEZŐKRE VONATKOZIK: Azure Database for PostgreSQL – Önálló kiszolgáló
Fontos
Azure Database for PostgreSQL – Az önálló kiszolgáló a kivezetési útvonalon van. Határozottan javasoljuk, hogy frissítsen az Azure Database for PostgreSQL rugalmas kiszolgálóra. A rugalmas Azure Database for PostgreSQL-kiszolgálóra való migrálással kapcsolatos további információkért lásd: Mi történik az önálló Azure Database for PostgreSQL-kiszolgálóval?
Ez a cikk azt ismerteti, hogyan kezelhetők az Azure Database for PostgreSQL-hez csatlakozó átmeneti hibák.
Átmeneti hibák
Az átmeneti hiba, más néven átmeneti hiba egy olyan hiba, amely megoldja magát. Ezek a hibák általában az elvetett adatbázis-kiszolgálóval létesített kapcsolatként nyilvánulnak meg. A kiszolgálóval létesített új kapcsolatok sem nyithatóak meg. Átmeneti hibák fordulhatnak elő például hardver- vagy hálózati hiba esetén. Egy másik ok lehet a PaaS-szolgáltatás új verziója, amelyet bevezetnek. A legtöbb ilyen eseményt a rendszer kevesebb mint 60 másodperc alatt automatikusan enyhíti. A felhőbeli alkalmazások tervezésének és fejlesztésének ajánlott eljárása az átmeneti hibákra való várakozás. Tegyük fel, hogy bármelyik összetevőben bármikor előfordulhatnak, és a megfelelő logikával rendelkeznek az ilyen helyzetek kezeléséhez.
Átmeneti hibák kezelése
Az átmeneti hibákat újrapróbálkozási logikával kell kezelni. Megfontolandó helyzetek:
- Hiba történik egy kapcsolat megnyitásakor
- A kiszolgálóoldalon megszakad egy tétlen kapcsolat. Amikor megpróbál kiadni egy parancsot, az nem hajtható végre
- A parancsot jelenleg végrehajtó aktív kapcsolat megszakad.
Az első és a második eset meglehetősen egyenesen előre kezelhető. Próbálja meg újra megnyitni a kapcsolatot. Ha sikerül, az átmeneti hibát a rendszer enyhítette. Ismét használhatja az Azure Database for PostgreSQL-et. Javasoljuk, hogy várjon a kapcsolat újrapróbálkozása előtt. Vissza, ha a kezdeti újrapróbálkozási művelet sikertelen. Így a rendszer az összes rendelkezésre álló erőforrást felhasználhatja a hibahelyzet leküzdésére. A követendő minta a következő:
- Várjon 5 másodpercet az első újrapróbálkozás előtt.
- Minden következő újrapróbálkozáshoz a várakozás exponenciálisan, akár 60 másodpercig is növelhető.
- Adja meg az újrapróbálkozések maximális számát, amikor az alkalmazás sikertelennek tekinti a műveletet.
Ha egy aktív tranzakcióval való kapcsolat meghiúsul, nehezebb helyesen kezelni a helyreállítást. Két eset van: Ha a tranzakció írásvédett volt, biztonságosan újra megnyithatja a kapcsolatot, és újrapróbálhatja a tranzakciót. Ha azonban a tranzakció az adatbázisba is íródott, meg kell állapítania, hogy a tranzakció vissza lett-e állítva, vagy sikeres volt-e az átmeneti hiba bekövetkezése előtt. Ebben az esetben előfordulhat, hogy nem kapta meg a véglegesítés nyugtázását az adatbázis-kiszolgálótól.
Ennek egyik módja egy egyedi azonosító létrehozása az ügyfélen, amelyet az összes újrapróbálkozáshoz használnak. Ezt az egyedi azonosítót a tranzakció részeként adja át a kiszolgálónak, és egy egyedi korlátozással rendelkező oszlopban tárolja. Így biztonságosan újrapróbálhatja a tranzakciót. Sikeres lesz, ha az előző tranzakció vissza lett állítva, és az ügyfél által létrehozott egyedi azonosító még nem létezik a rendszerben. Nem jelenik meg ismétlődő kulcssértés, ha az egyedi azonosítót korábban tárolták, mert az előző tranzakció sikeresen befejeződött.
Amikor a program harmadik féltől származó köztes szoftveren keresztül kommunikál az Azure Database for PostgreSQL-sel, kérdezze meg a szállítót, hogy a köztes szoftver tartalmaz-e újrapróbálkozási logikát átmeneti hibák esetén.
Mindenképpen tesztelje az újrapróbálkozás logikáját. Próbálja meg például végrehajtani a kódot az Azure Database for PostgreSQL-kiszolgáló számítási erőforrásainak fel- vagy leskálázása közben. Az alkalmazásnak probléma nélkül kell kezelnie a művelet során fellépő rövid állásidőt.
Következő lépések
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: