Alıştırma - Spring Boot Redis uygulamasını Azure'a dağıtma
Artık her şey yerel olarak çalıştığına göre, uygulamayı buluta dağıtabilir ve üretimdeki davranışını test edebilirsiniz.
Azure App Service örneği oluşturma
Uygulamanızı barındırmak için bir Azure Uygulaması Hizmeti örneği oluşturun. Linux kullanan temel bir App Service planı oluşturmak için aşağıdaki Azure CLI kodunu kullanın ve ardından bu plana App Service üzerinde Java örneği ekleyin.
Java 8 yerine Java 11 veya Java 17 kullanmak için web uygulaması çalışma zamanı yerine "JAVA|8-jre8"
kullanın"JAVA|<version>-java<version>"
.
az appservice plan create \
--resource-group $AZ_RESOURCE_GROUP \
--name $AZ_REDIS_NAME-webapp-plan \
--is-linux \
--sku B1
az webapp create \
--resource-group $AZ_RESOURCE_GROUP \
--name $AZ_REDIS_NAME-webapp \
--runtime "JAVA|8-jre8" \
--plan $AZ_REDIS_NAME-webapp-plan
Dekont
Yukarıdaki kod, App Service planını ve App Service örneğini adlandırmak için değişkeni yeniden $AZ_REDIS_NAME
kullanır, ancak farklı adlar kullanabilirsiniz. App Service örnek adı, URL'nin bir parçasıdır ve bu ad Azure genelinde benzersiz olmalıdır.
Bu dağıtım tamamlarken sonraki adımı gerçekleştirebilirsiniz.
Spring Boot uygulamasını Azure Uygulaması Hizmetine dağıtma
Projenizin pom.xml dosyasına bölümüne aşağıdaki yeni eklentiyi
<plugins>
ekleyin:<plugin> <groupId>com.microsoft.azure</groupId> <artifactId>azure-webapp-maven-plugin</artifactId> <version>2.11.0</version> <configuration> <schemaVersion>V2</schemaVersion> <resourceGroup>${env.AZ_RESOURCE_GROUP}</resourceGroup> <appName>${env.AZ_REDIS_NAME}-webapp</appName> <deployment> <resources> <resource> <directory>${project.basedir}/target</directory> <includes> <include>*.jar</include> </includes> </resource> </resources> </deployment> </configuration> </plugin>
Dekont
Önceki yapılandırmada daha önce yapılandırdığınız ortam değişkenleri kullanılır. Bu yapılandırmanın çalışması için ve
$AZ_REDIS_NAME
değişkenlerinizin$AZ_RESOURCE_GROUP
doğru ayarlandığından emin olun.App Service dağıtımı tamamlandıktan sonra aşağıdaki komutu çalıştırarak uygulamanızı paketleyin ve Azure'a dağıtın:
./mvnw package azure-webapp:deploy
Dağıtım başarıyla tamamlandığında aşağıdaki satırı döndürür:
Successfully deployed the artifact to https://<redisName>-webapp.azurewebsites.net
Sonraki bölümde kullanmak üzere, önceki çıkışta gösterildiği gibi çalışan uygulamanızın URL'sini not edin.
Uygulamayı Azure'da test edin
Yerel sunucunuzda kullandığınız istemci URL'si (cURL) komutlarını bulutta çalıştırmak için uygulama URL'nizi kullanın.
Veri öğesi eklemek için aşağıdaki komutu çalıştırın:
curl -d '{"description":"another description", "details":"some more details"}' -H "Content-Type: application/json" -X POST https://$AZ_REDIS_NAME-webapp.azurewebsites.net
Verileri almak için şunu çalıştırın:
curl https://$AZ_REDIS_NAME-webapp.azurewebsites.net
Oturumunuzu artırmak için aşağıdaki komutu birkaç kez çalıştırın:
curl -b cookie.txt -c cookie.txt https://$AZ_REDIS_NAME-webapp.azurewebsites.net/session
Yerel sunucunuz ve bulut hizmetiniz aynı Redis örneğini kullandığından kümelenmiş olur. Bir örnekte yazdığınız veriler diğer örnekte kullanılabilir. Bulut hizmeti, hem iş verilerini hem de oturum verilerini depolamak için aynı Redis örneğini kullanan daha fazla düğüm ekleyerek ölçeği genişletebilir.