领先一步
VMware提供培训和认证,助您快速提升。
了解更多注意:这篇博客是在Spring团队和Microsoft Azure Spring Cloud团队成员(包括Josh Long、Julien Dubois、Sean Li、Kylie Liang、Jonathan Giles、Asir Selvasingh以及Microsoft Azure Spring Cloud和VMware Spring团队的其他成员)的合作下撰写的。
嗨,Spring 粉丝们!今天我们非常高兴地宣布Azure Spring Cloud 正式上市。Azure Spring Cloud 是一个用于部署和管理基于 Spring Boot 和 Spring Cloud 的服务和软件的平台,该平台构建在 Microsoft Azure 上。它由 Microsoft 和 VMware 共同构建、运营和支持。
Azure Spring Cloud 的核心概念是优化基于 Spring Boot 的微服务在利用 Azure Kubernetes 服务的平台上的生产路径,从而抽象出管理 Kubernetes 所涉及的所有复杂性。让我们具体看看 Azure Spring Cloud 是如何做到这一点的。您首先需要设置一个新的 Azure Spring Cloud 服务实例。您可以在Azure 门户或命令行轻松完成此操作。完成后,我们就可以发布软件了!
让我们从简单的事情开始。访问Spring Initializr并构建一个新服务。添加Reactive Web
依赖项。点击Generate
。您将获得一个zip
文件,您应该将其解压缩。生成的项目可以在您想要的任何 IDE 中打开。编辑pom.xml
,暂时注释掉以下依赖项
将以下 Spring Webflux HTTP 控制器添加到与主应用程序位于同一代码页的 Java 代码库中。
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Collection;
@RestController
class HelloController {
@GetMapping("/hello")
Map<String, String> hello() {
return java.util.Collections.singletonMap("greeting", "Hello from Azure Spring Cloud");
}
}
然后,使用 Apache Maven 从项目的根目录构建应用程序,就像构建任何 Spring Boot 应用程序一样
mvn clean package -f pom.xml
这将为您提供一个.jar
文件,您可以正常运行它:java -jar target/*jar
。
应用程序可以运行,现在您可以在 Azure Spring Cloud 上配置应用程序实例,以便当您部署.jar
文件时,平台将知道如何处理它以及如何配置它。
您可以在 Azure 门户或命令行创建新的应用程序。
az spring-cloud app create -n simple-microservice
您只需要创建一次应用程序定义。此后,我们只需要部署应用程序本身。
az spring-cloud app deploy -n simple-microservice --jar-path target/demo-0.0.1-SNAPSHOT.jar
这样,应用程序就在云端运行了!恭喜!您已进入生产环境。感觉不错,不是吗?在这种情况下,生产环境是一个非常强大的环境。
进入生产环境后,您需要分布式跟踪和日志聚合。
您可能希望集中和保护配置值,这对于 Spring Cloud Config Server 来说很容易做到,它很容易在 Azure Spring Cloud 中设置。
您还可以利用预配置的Azure Spring Cloud 中的 Eureka 服务注册表来实现服务注册和发现
所有这些都只是开始挖掘 Azure Spring Cloud 的全部潜力!Azure Spring Cloud 简化了建立支持微服务的架构的工作,但是一个典型的应用程序还有很多其他的架构需求,值得庆幸的是,Microsoft Azure 完全可以满足这些需求。
我们还没有连接到数据库或消息队列,也没有添加安全功能或其他任何东西。但是不用担心,适用于 Microsoft Azure 的 Spring Cloud 提供了一个丰富的工具箱,允许您以 Spring 应用程序的惯用方式访问 Azure 服务。让我们看看其中一些(但绝对不是全部)可能性。
模块与 Azure CosmosDB 通信
Josh 在 2020 年 6 月向新加坡 Java 和 Microsoft 用户组的联合会议发表的演讲中深入探讨了其中一些机会。
2019 年 10 月,Microsoft 和 VMware 宣布了 Azure Spring Cloud 的合作。从那时起,许多客户都向我们咨询了这项差异化产品。许多组织中的 Java 和 JVM 开发人员都使用了这项服务,并向我们提供了大量反馈,以帮助我们确定功能优先级并塑造 Azure Spring Cloud。我们启用了安全功能来管理密钥、混合部署、控制应用程序的入口和出口以及使用 TLS/SSL 保护通信。为了支持性能和可靠性,我们启用了自动缩放、日志流式传输、警报和自诊断。
我们喜欢 Azure Spring Cloud 平台,我们希望您也喜欢。我们知道你们中的很多人已经喜欢上了!事实证明,生产环境_很棒,您不必相信我们的话!在官方发布博客上有一些客户评价。