【51CTO.com快译】近年来,Java持续在企业中得到广泛地运用。例如:LinkedIn正使用着500多个Java微服务,Minecraft的游戏客户端是由Java编写而成,而Yammer的后端也是用Java编写的,甚至连Microsoft的Azure云也包含了一些可与Java应用进行交互组件,以及为Java特定的应用。可以说,随着Java生态系统逐渐被Spring所主导,Microsoft不但积极地参与到Java社区中,而且推出了Azure Spring Cloud等开源的Java项目,以便更好地支持Java应用程序和集成Azure Cloud组件。
 
每10个开发人员中就有6个会使用Spring来开发他们的应用程序
 
Azure Spring Cloud是Azure系列产品中的一款PaaS产品,是由Microsoft和VMware共同努力构建的。通过依靠Spring Boot,Spring Cloud能够与Azure云组件相集成,并为用户提供无缝的云原生应用开发体验。
 
作为一项完全托管的云服务,Azure Spring Cloud是由完全托管的AKS群集提供支持的。因此,它能够为云端的构建、部署、以及管理微服务,提供真正的无服务器体验。
 
快速入门
 
为了简单起见,我们假定已经拥有了一个有效的Azure订阅帐户,并且选用Maven(https://maven.apache.org/)作为生成与依赖关系管理的工具。
 
请参照如下步骤,在Azure Spring Cloud上部署Spring Boot + Spring Cloud应用:
 
通过Azure门户创建新的Azure Spring Cloud实例。
 
请下载并安装Azure CLI。
 
通过命令“az extension add -n spring-cloud -y”,来添加Azure Spring Cloud的扩展。注意,由于Azure CLI版本的不同,spring-cloud命令集可能已经被添加到了默认的Azure CLI命令中,因此该步骤不一定需要。
 
通过“az configure --defaults group=”和“az configure --defaults spring-cloud=”,来设置资源组和Azure Spring Cloud实例的默认值。
 
请按照如下代码,将Azure Spring Cloud Client的依赖项包含到您的项目中。您可能需要在单独的配置文件中进行,以免“污染”那些本地开发的依赖项。
 
cloud com.microsoft.azure spring-cloud-starter-azure-spring-cloud-client 2.2.0
 
通过命令:mvn clean package -Pcloud,来启用在上一步中添加的配置文件,并构建应用程序。
 
使用:az spring-cloud app create -n ,在Azure Spring Cloud实例中创建一个新的Azure Spring Cloud应用(只需在首次进行该操作)。
 
通过如下命令,将应用程序部署到Azure Spring Cloud处:
 
az spring-cloud app deploy -n --jar-path target/my-app.jar
 
如此零代码量、和对项目的影响最小,我们在数分钟之内,成功地将第一个应用程序部署到了完全托管的AKS群集中。
 
分布式跟踪
 
在Azure Application Insights上的应用程序映射示例
 
Azure Spring Cloud能够为您的应用程序提供现成的分布式跟踪功能。它主要依靠Azure Application Insights来构建完整的“应用程序映射”,以展示传入的请求将如何流入系统,组件之间如何交互,采样调用的跟踪,以及有关调用的输出和持续时间等信息。
 
您既可以指定被依赖的Azure Application Insights预存实例,也可以通过启用分布式跟踪的设置,以专门创建一个全新的Azure Application Insights实例,供Azure Spring Cloud使用。

dawei

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注