Číst v angličtině

Sdílet prostřednictvím


Implementace zásad opakování pomocí Javy

Každá aplikace, která běží v cloudu nebo komunikuje se vzdálenými službami a prostředky, musí být schopná zpracovat přechodné chyby. U těchto aplikací je běžné, že dochází k chybám kvůli momentální ztrátě síťového připojení, vypršení časového limitu požadavku, když je služba nebo prostředek zaneprázdněný, nebo kvůli jiným faktorům. Vývojáři by měli vytvářet aplikace pro transparentní zpracování přechodných chyb za účelem zlepšení stability a odolnosti.

V tomto článku se dozvíte, jak pomocí klientské knihovny Azure Storage pro Javu nakonfigurovat zásady opakování pro aplikaci, která se připojuje ke službě Azure Blob Storage. Zásady opakování definují, jak aplikace zpracovává neúspěšné požadavky, a měly by se vždy ladit tak, aby odpovídaly obchodním požadavkům aplikace a povaze selhání.

Konfigurace možností opakování

Zásady opakování pro Blob Storage se konfigurují programově a nabízejí kontrolu nad tím, jak se možnosti opakování použijí pro různé požadavky a scénáře služby. Například webová aplikace, která vydává požadavky na základě interakce uživatele, může implementovat zásadu s menším počtem opakování a kratšími prodlevami, aby se zvýšila rychlost odezvy a upozorňují uživatele, když dojde k chybě. Případně může aplikace nebo komponenta, která spouští dávkové požadavky na pozadí, zvýšit počet opakovaných pokusů a použít exponenciální strategii zpětného odpočtu, která umožní úspěšné dokončení žádosti.

Následující tabulka uvádí dostupné parametry při vytváření instance RequestRetryOptions spolu s typem, stručným popisem a výchozí hodnotou, pokud neprovádíte žádné změny. Měli byste být proaktivní při ladění hodnot těchto vlastností tak, aby vyhovovaly potřebám vaší aplikace.

Vlastnost Typ Popis Výchozí hodnota
retryPolicyType RetryPolicyType Nepovinné. Přístup k výpočtu zpoždění opakování. EXPONENCIÁLNÍ
maxTries Celé číslo Nepovinné. Maximální počet pokusů o opakování před vzdáním se. 4
tryTimeoutInSeconds Celé číslo Nepovinné. Maximální povolená doba před zrušením požadavku a předpokládá se, že selhala. Upozorňujeme, že časový limit se vztahuje na požadavek operace, nikoli na celkový průběh operace. Tato hodnota by měla být založená na šířce pásma dostupné hostitelskému počítači a blízkosti služby Storage. Dobrým výchozím bodem může být 60 sekund za MB očekávané velikosti užitečné zátěže. Integer.MAX_VALUE (sekundy)
retryDelayInMs Dlouhý Nepovinné. Určuje množství zpoždění, které se má použít před opakováním operace. 4ms pro EXPONENTIAL, 30ms pro FIXED
maxRetryDelayInMs Dlouhá Nepovinné. Určuje maximální povolenou prodlevu před opakováním operace. 120 ms
secondaryHost řetězec Nepovinné. Koncový bod sekundárního účtu úložiště pro opětovné zpracování požadavků. Před nastavením této hodnoty byste měli porozumět problémům se čtením zastaralých a potenciálně nekonzistentních dat. Další informace najdete v tématu Použití geografické redundance k návrhu aplikací s vysokou dostupností. Nic

V následujícím příkladu kódu nakonfigurujeme možnosti opakování v instanci RequestRetryOptions a předáme ji k BlobServiceClientBuilder vytvoření objektu klienta:

RequestRetryOptions retryOptions = new RequestRetryOptions(RetryPolicyType.FIXED, 2, 3, 1000L, 1500L, null);
BlobServiceClient client = new BlobServiceClientBuilder()
        .endpoint("https://<storage-account-name>.blob.core.windows.net/")
        .credential(credential)
        .retryOptions(retryOptions)
        .buildClient();

V tomto příkladu každý požadavek služby vydaný z objektu BlobServiceClient používá možnosti opakování definované v RequestRetryOptions instanci. Tato zásada se vztahuje na požadavky klientů. Pro klienty služeb můžete nakonfigurovat různé strategie opakování na základě potřeb vaší aplikace.

Další kroky

  • Tento článek je součástí příručky pro vývojáře služby Blob Storage pro Javu. Podívejte se na úplný seznam článků příručky pro vývojáře na webu Sestavení aplikace.
  • Pro pokyny k architektuře a obecné osvědčené postupy pro strategie opakování, viz téma Zpracování přechodných chyb.
  • Pokyny k implementaci vzoru opakování pro dočasná selhání viz Vzor opakování.

Další materiály

Dokumentace

Školení

Postup výuky

Rozšíření možností pro aplikace v Javě v Azure - Training

Začněte zde a zjistěte, jak můžete získat plný výkon Azure s vašimi aplikacemi v Javě – pomocí idiomaticických knihoven se připojte ke svým preferovaným cloudovým službám, včetně databází Azure SQL a NoSQL, systémů zasílání zpráv a událostí, mezipaměti Redis, úložiště a adresářových služeb. Jako vždy používejte nástroje a architektury, které znáte a milujete – Spring, Tomcat, WildFly, JBoss, WebLogic, WebSphere, Maven, Gradle, IntelliJ, Eclipse, Jenkins, Terraform a další.

Certifikace

Microsoft Certifikát: Azure Vývojářský Asistent - Certifications

Vytvářejte ucelená řešení v Microsoft Azure pro vytváření funkcí Azure, implementaci a správu webových aplikací, vývoj řešení využívajících úložiště Azure a další.