Kurz: Použití dynamické konfigurace pomocí nabízené aktualizace v aplikaci Java Spring
Klientská App Configuration Java Spring podporuje aktualizaci konfigurace na vyžádání, aniž by to způsobilo restartování aplikace. Aplikaci je možné nakonfigurovat tak, aby detekovat změny App Configuration pomocí jednoho nebo obou následujících dvou přístupů.
Poll Model (Model dotazování): Toto je výchozí chování, které využívá dotazování ke zjištění změn v konfiguraci. Po vypršení platnosti hodnoty nastavení uložené v mezipaměti odešle další volání metody na server požadavek na kontrolu, jestli se konfigurace změnila, a v případě potřeby si vyžádá aktualizovanou
AppConfigurationRefreshrefreshConfigurationskonfiguraci.Model nabízených oznámení: App Configuration události k detekci změn v konfiguraci. Jakmile App Configuration nastavíte pro odesílání událostí změny hodnoty klíče pomocí Event Grid s webhooky, může aplikace tyto události použít k optimalizaci celkového počtu požadavků potřebných k aktualizaci konfigurace.
Tento kurz ukazuje, jak můžete implementovat dynamické aktualizace konfigurace v kódu pomocí nabízené aktualizace. Vychází z aplikace představené v rychlých startech. Než budete pokračovat, dokončete nejprve vytvoření aplikace Java Spring App Configuration aplikací.
Kroky v tomto kurzu můžete provést v libovolném editoru kódu. Visual Studio Code je skvělá možnost, která je k dispozici na platformách Windows, macOS a Linux.
V tomto kurzu se naučíte:
- Nastavení odběru pro odesílání událostí změny konfigurace z App Configuration do webhooku
- Nasazení Spring Boot aplikace do App Service
- Nastavte svou aplikaci Java Spring tak, aby v reakci na změny v jazyce App Configuration.
- Využít nejnovější konfiguraci v aplikaci
Požadavky
- Předplatné Azure – vytvořte si ho zdarma.
- Podporovaná sada Java Development Kit (JDK) verze 8.
- Apache Maven verze 3.0 nebo novější.
- Existující Azure App Configuration Store.
Pokud ještě nemáte předplatné Azure,vytvořte si bezplatný účet před tím, než začnete.
Nastavení nabízené aktualizace
Otevřete pom.xml a aktualizujte soubor následujícími závislostmi.
<dependency> <groupId>com.azure.spring</groupId> <artifactId>azure-spring-cloud-appconfiguration-config-web</artifactId> <version>2.0.0</version> </dependency> <!-- Adds the Ability to Push Refresh --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>Nastavení nasazení App Service Maven, aby bylo možné aplikaci nasadit do Azure App Service prostřednictvím Mavenu.
mvn com.microsoft.azure:azure-webapp-maven-plugin:1.12.0:configOtevřete soubor bootstrap.properties a nakonfigurujte Azure App Configuration Push Refresh a Azure Service Bus
# Azure App Configuration Properties spring.cloud.azure.appconfiguration.stores[0].connection-string= ${AppConfigurationConnectionString} spring.cloud.azure.appconfiguration.stores[0].monitoring.enabled= true spring.cloud.azure.appconfiguration.stores[0].monitoring.cacheExpiration= 30d spring.cloud.azure.appconfiguration.stores[0].monitoring.triggers[0].key= sentinel spring.cloud.azure.appconfiguration.stores[0].monitoring.push-notification.primary-token.name= myToken spring.cloud.azure.appconfiguration.stores[0].monitoring.push-notification.primary-token.secret= myTokenSecret management.endpoints.web.exposure.include= "appconfiguration-refresh"
Přidá se náhodné zpoždění před tím, než se hodnota uložená v mezipaměti označí jako nezačištěná, aby se snížilo potenciální omezování. Výchozí maximální prodleva před označením hodnoty uložené v mezipaměti jako nečtená je 30 sekund.
Poznámka
Primární název tokenu by měl být uložený App Configuration jako klíč a tajný klíč primárního tokenu by měl být uložen jako odkaz App Configuration Key Vault zabezpečení.
Místní sestavení a spuštění aplikace
Event Grid webhooky vyžadují ověření při vytvoření. Můžete to ověřit podle tohoto průvodce nebo spuštěním aplikace s již nakonfigurovanou Azure App Configuration Spring Web Library, která vaši aplikaci zaregistruje za vás. Pokud chcete použít odběr události, postupujte podle kroků v následujících dvou částech.
Nastavte proměnnou prostředí na App Configuration připojovací řetězec vaší instance:
setx AppConfigurationConnectionString <connection-string-of-your-app-configuration-store>Spuštěním následujícího příkazu sestavte konzolovou aplikaci:
mvn packagePo úspěšném dokončení sestavení spusťte následující příkaz, který spustí aplikaci místně:
mvn spring-boot:deploy
Nastavení odběru událostí
Otevřete prostředek App Configuration v Azure Portal a potom v
+ Event Subscriptionpodokně klikněte naEvents.
Zadejte název pro a
Event SubscriptionSystem Topic. Ve výchozím nastavení jsou Key-Value události změněné Key-Value odstraněné události. Můžete to změnit společně s použitím karty Filtry a zvolit přesné důvody, proč se má událost odeslání odeslat.
Vyberte
Endpoint TypejakoWeb Hook, vyberteSelect an endpoint.
Koncový bod je identifikátor URI aplikace + /pohánět/appconfiguration-refresh? {your-token-name}={your-token-secret}". Příklad:
https://my-azure-webapp.azurewebsites.net/actuator/appconfiguration-refresh?myToken=myTokenSecretKliknutím na
Createvytvořte odběr události. Když je vybraná možnost , do vaší aplikace se bude odeslat žádost oCreateregistraci webhooku. Tato zpráva je přijata Azure App Configuration klientskou knihovnou ověřena a vrátí platnou odpověď.Kliknutím na
Event Subscriptionsv podokněEventsověřte, že se předplatné úspěšně vytvořilo.
Poznámka
Při přihlášení k odběru změn konfigurace je možné použít jeden nebo více filtrů ke snížení počtu událostí odesílaných do vaší aplikace. Můžete je nakonfigurovat jako filtry Event Grid předplatného nebo jako Service Bus předplatného. Například filtr předplatného lze použít k přihlášení k odběru událostí pouze pro změny v klíči, který začíná konkrétním řetězcem.
Ověření a otestování aplikace
Po spuštění aplikace otestujte aplikaci pomocí nástroje curl, například:
curl -X GET http://localhost:8080Otevřete Azure Portal a přejděte k prostředku App Configuration přidruženému k vaší aplikaci. V části Operace vyberte Průzkumník konfigurace a aktualizujte hodnoty následujících klíčů:
Klíč Hodnota application/config.message Hello – Aktualizováno Aktualizujte stránku prohlížeče, aby se nová zpráva zobrazí.
Vyčištění prostředků
Pokud nechcete dál používat prostředky vytvořené v tomto článku, odstraňte skupinu prostředků, kterou jste tady vytvořili, abyste předešli poplatkům.
Důležité
Odstranění skupiny prostředků je nevratné. Skupina prostředků a všechny prostředky v ní se trvale odstraní. Ujistěte se, že nechtěně neodstraníte nesprávnou skupinu prostředků nebo prostředky. Pokud jste vytvořili prostředky pro tento článek v rámci skupiny prostředků, která obsahuje další prostředky, které chcete zachovat, odstraňte všechny prostředky jednotlivě z příslušného podokna, místo aby se odstranila skupina prostředků.
- Přihlaste se k Azure Portala vyberte skupiny prostředků.
- Do pole filtrovat podle názvu zadejte název vaší skupiny prostředků.
- V seznamu výsledků vyberte název skupiny prostředků, aby se zobrazil přehled.
- Vyberte Odstranit skupinu prostředků.
- Zobrazí se výzva k potvrzení odstranění skupiny prostředků. Zadejte název vaší skupiny prostředků, který chcete potvrdit, a vyberte Odstranit.
Po chvíli se odstraní skupina prostředků a všechny její prostředky.
Další kroky
V tomto kurzu jste aplikaci v Javě povolili dynamicky aktualizovat nastavení konfigurace z App Configuration. Informace o použití spravované identity Azure ke zjednodušení přístupu k App Configuration najdete v dalším kurzu.