练习 - 在应用服务上部署整体应用程序
我们谈到了整体体系结构和微服务体系结构。 现在,让我们部署一个整体式应用程序,并进一步探讨如何将其演变为微服务体系结构。
Fabrikam 最近将无人机服务添加到其现有应用程序中。
在本练习中,我们将在 Azure 应用服务上部署一个整体应用程序,并使 Azure Monitor 能够了解遥测和应用程序性能。
在 Azure 应用服务上部署整体应用程序
首先部署应用程序。 首先,我们需要创建 Azure 资源来托管应用程序。
运行以下命令以部署此应用程序所需的资源。 此部署需要几分钟时间。
az deployment group create \ --resource-group "<rgn>[sandbox resource group]</rgn>" \ --template-uri https://raw.githubusercontent.com/MicrosoftDocs/mslearn-microservices-architecture/master/deployment/azuredeploy.json创建资源后,让我们部署应用程序。 首先运行以下命令,从示例存储库中拉取源代码。
git clone https://github.com/MicrosoftDocs/mslearn-microservices-architecture.git ~/mslearn-microservices-architecture cd ~/mslearn-microservices-architecture/src/before运行以下命令来打包压缩应用程序代码,我们将用于部署到应用服务平台。
zip -r DroneDelivery-before.zip .运行以下命令,设置具有应用服务名称的变量。
APPSERVICENAME="$(az webapp list \ --resource-group "<rgn>[sandbox resource group]</rgn>" \ --query '[].name' \ --output tsv)"运行以下命令,将应用服务配置为在部署过程中执行构建。
az webapp config appsettings set \ --resource-group "<rgn>[sandbox resource group]</rgn>" \ --name $APPSERVICENAME \ --settings SCM_DO_BUILD_DURING_DEPLOYMENT=true现在,运行以下命令将应用程序部署到应用服务。 此部署需要几分钟才能完成。
az webapp deploy \ --resource-group "<rgn>[sandbox resource group]</rgn>" \ --name $APPSERVICENAME \ --src-path DroneDelivery-before.zip部署完成后,通过访问应用服务的网站确认部署是否成功。 运行以下命令以获取 URL,然后选择它以打开页面。
echo https://$(az webapp config hostname list \ --resource-group "<rgn>[sandbox resource group]</rgn>" \ --webapp-name $APPSERVICENAME \ --query [].name \ --output tsv)
对应用程序执行负载测试
现在,让我们在其整体体系结构中测试应用程序的性能。
在已部署应用程序的主页上,选择“ 发送请求”。 此操作模拟通过应用程序提交 100 个请求。
对于第一个请求,你将看到大约 8 到 12 秒的结果来处理 100 条消息。 如果刷新页面,并在出现提示时重新提交,此数字可能会下降约一半。 每个请求仍需要大约 5 秒的时间。
Fabrikam 怀疑整体架构阻碍了大量使用的服务实现扩展,这导致这里出现的性能不佳问题。