Oktatóanyag: Hiba szimulálása az elsődleges régióból származó adatok beolvasásában
Ez az oktatóanyag egy sorozat második része. Ebben megismerheti az olvasási hozzáférésű geo-zónaredundáns tárolás (RA-GZRS) előnyeit egy hiba szimulálásával.
A hiba szimulálásához használhat statikus útválasztást vagy Fiddlert. Mindkét módszer lehetővé teszi, hogy szimulálja az RA-GZRS tárfiók elsődleges végpontjára irányuló kérések sikertelenségét, így az alkalmazás inkább a másodlagos végpontról olvassa be az adatokat.
Ha nem rendelkezik Azure-előfizetéssel, hozzon létre egy ingyenes fiókot a feladatok megkezdése előtt.
A sorozat második részében az alábbiakkal fog megismerkedni:
- Az alkalmazás futtatása és szüneteltetése
- Hiba szimulálása érvénytelen statikus útvonallal vagy Fiddlerrel
- Elsődleges végpont visszaállításának szimulálása
Előfeltételek
Mielőtt elkezdené ezt az oktatóanyagot, végezze el az előző oktatóanyagot: Az alkalmazásadatok magas rendelkezésre állásúvá tétele az Azure Storage-ban.
Ha statikus útválasztással szeretne szimulálni egy hibát, emelt szintű parancssort fog használni.
Ha a Fiddler használatával szeretne szimulálni egy hibát, töltse le és telepítse a Fiddlert
Hiba szimulálása érvénytelen statikus útvonallal
Érvénytelen statikus útvonalat hozhat létre az RA-GZRS tárfiók elsődleges végpontjára irányuló összes kéréshez. Ebben az oktatóanyagban a helyi gazdagép a tárfiókba érkező kérések útválasztására szolgáló átjáró. Ha a helyi gazdagépet használja átjáróként, a tárfiók elsődleges végpontjára irányuló összes kérés visszacsatolást okoz a gazdagépen belül, ami sikertelen kérést eredményez. Kövesse az alábbi lépéseket, ha az érvénytelen statikus útvonal használatával szeretné a hibát szimulálni, és az elsődleges végpontot visszaállítani.
Az alkalmazás elindítása és szüneteltetése
Az előző oktatóanyag utasításait követve indítsa el a mintát, és töltse le a tesztfájlt, megerősítve, hogy az elsődleges tárolóból származik. A célplatformtól függően manuálisan szüneteltetheti a mintát, vagy várakozhat egy kérdésre.
Hibaszimuláció
Amíg az alkalmazás szüneteltetve van, nyisson meg egy parancssort a Windows rendszeren rendszergazdaként, vagy futtassa a terminált gyökérként Linuxon.
A tárfiók elsődleges végponttartományával kapcsolatos információk lekéréséhez írja be a következő parancsot egy parancssorba vagy terminálba, és cserélje le STORAGEACCOUNTNAME
a tárfiók nevét.
nslookup STORAGEACCOUNTNAME.blob.core.windows.net
A későbbi lépésekhez másolja a tárfiók IP-címét egy szövegszerkesztőbe.
A helyi gazdagép IP-címének lekéréséhez írja be az ipconfig
parancsot a Windows-parancssorba vagy az ifconfig
parancsot a Linux-terminálba.
Ha statikus útvonalat szeretne hozzáadni egy cél gazdagéphez, írja be a következő parancsot egy Windows parancssorba vagy Linux-terminálba, és cserélje le <destination_ip>
a tárfiók IP-címére és <gateway_ip>
a helyi gazdagép IP-címére.
Linux
sudo route add <destination_ip> gw <gateway_ip>
Windows
route add <destination_ip> <gateway_ip>
A futó mintával rendelkező ablakban folytassa az alkalmazást, vagy nyomja le a megfelelő billentyűt a mintafájl letöltéséhez, és győződjön meg arról, hogy másodlagos tárolóból származik. Ezután szüneteltetheti a mintát, vagy megvárhatja a kérést.
Elsődleges végpont visszaállításának szimulálása
Az elsődleges végpont újra működőképessé válásának szimulálásához törölje az érvénytelen statikus útvonalat az útválasztási táblából. Ez lehetővé teszi, hogy az elsődleges végpont az alapértelmezett átjárón keresztül legyen irányítva. Írja be a következő parancsot egy Windows parancssorba vagy Linux-terminálba.
Linux
sudo route del <destination_ip> gw <gateway_ip>
Windows
route delete <destination_ip>
Ezután folytathatja az alkalmazást, vagy nyomja le a megfelelő billentyűt a mintafájl újbóli letöltéséhez, ezúttal megerősítve, hogy ismét az elsődleges tárolóból származik.
Hiba szimulálása a Fiddlerrel
A Fiddler hiba szimulálásához sikertelen választ ad az RA-GZRS tárfiók elsődleges végpontjára irányuló kérésekre.
Az alábbi szakaszok bemutatja, hogyan szimulálhat egy hibát és az elsődleges végpont helyreállítását a fiddlerrel.
A Fiddler elindítása
Nyissa meg a Fiddlert, és válassza a Rules (Szabályok), majd a Cutomize Rules (Szabályok testreszabása) lehetőséget.
A Fiddler ScriptEditor elindítja és megjeleníti a SampleRules.js fájlt. Ezzel a fájllal szabható testre a Fiddler.
Illessze be az alábbi kódmintát a OnBeforeResponse
függvénybe, és cserélje le a helyére STORAGEACCOUNTNAME
a tárfiók nevét. A mintától függően előfordulhat, hogy le kell cserélnie HelloWorld
a letöltött tesztfájl nevét, vagy el kell távolítania a feltételnek azt a részét, ha az nem érvényes. Az új kód megjegyzést kap, hogy ne fusson azonnal.
Ha végzett, válassza a Fájl és a Mentés lehetőséget a módosítások mentéséhez. Hagyja nyitva a ScriptEditor ablakot a következő lépésekben való használatra.
/*
// Simulate data center failure
// After it is successfully downloading the blob, pause the code in the sample,
// uncomment these lines of script, and save the script.
// It will intercept the (probably successful) responses and send back a 503 error.
// When you're ready to stop sending back errors, comment these lines of script out again
// and save the changes.
if ((oSession.hostname == "STORAGEACCOUNTNAME.blob.core.windows.net")
// depending on the sample, you may need to modify or remove the line below
&& (oSession.PathAndQuery.Contains("HelloWorld"))) {
oSession.responseCode = 503;
}
*/
Az alkalmazás elindítása és szüneteltetése
Az előző oktatóanyag utasításait követve indítsa el a mintát, és töltse le a tesztfájlt, megerősítve, hogy az elsődleges tárolóból származik. A célplatformtól függően manuálisan szüneteltetheti a mintát, vagy várakozhat egy kérdésre.
Hibaszimuláció
Amíg az alkalmazás szüneteltetve van, váltson vissza a Fiddlerre, és oldja fel a függvényben OnBeforeResponse
mentett egyéni szabályt. A módosítások mentéséhez mindenképpen válassza a Fájl és a Mentés lehetőséget, hogy a szabály érvénybe lépjen. Ez a kód az RA-GZRS tárfiókhoz érkező kéréseket keresi, és ha az elérési út tartalmazza a mintafájl nevét, a következő válaszkódot 503 - Service Unavailable
adja vissza: .
A futó mintával rendelkező ablakban folytassa az alkalmazást, vagy nyomja le a megfelelő billentyűt a mintafájl letöltéséhez, és győződjön meg arról, hogy másodlagos tárolóból származik. Ezután szüneteltetheti a mintát, vagy megvárhatja a kérést.
Elsődleges végpont visszaállításának szimulálása
A Fiddlerben távolítsa el vagy fűzzön megjegyzést az egyéni szabályhoz. A Fájl és a Mentés lehetőséget választva győződjön meg arról, hogy a szabály már nem lesz érvényben.
A futó mintát tartalmazó ablakban folytassa az alkalmazást, vagy nyomja le a megfelelő billentyűt a mintafájl letöltéséhez, és győződjön meg arról, hogy ismét az elsődleges tárolóból származik. Ezután kiléphet a mintából.
Következő lépések
A sorozat második részében megismerkedett az olvasási hozzáférés georedundáns tárolásának tesztelésével kapcsolatos hibák szimulálásával.
Az RA-GZRS-tároló működéséről és a kapcsolódó kockázatokról további információt A HA-alkalmazások tervezése az RA-GZRS-sel című témakörben talál.