你好,Azure Spring Cloud

工程 | Josh Long | 2020年9月2日 | ...

注意:本博客与 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 是一个用于在 Microsoft Azure 上部署和管理 Spring Boot 和 Spring Cloud 驱动的服务和软件的平台。它由 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 服务注册表

Spring on Azure 集成

所有这些,我们才刚刚开始深入挖掘 Azure Spring Cloud 的全部潜力!Azure Spring Cloud 可以轻松地搭建支持微服务的基础设施,但典型的应用程序还有许多其他基础设施需求,幸运的是,Microsoft Azure 完全能够满足这些需求。

我们还没有连接到数据库、消息队列,添加安全性或其他任何东西。不过不用担心,Spring Cloud for Microsoft Azure 提供了一个丰富的工具箱,允许您以 Spring 应用程序特有的方式访问 Azure 服务。让我们看看其中的一些可能性,但绝非全部。

) 模块来连接到 Azure CosmosDB。

  • 您可以使用 Spring Cloud Stream 来连接到 Azure Service Bus。

Josh 在 2020 年 6 月的一次演讲中深入探讨了其中一些机会,该演讲面向新加坡 Java 和 Microsoft 用户群体的联合大会。您可以 观看此演讲

重要的合作

2019 年 10 月,Microsoft 和 VMware 宣布了 Azure Spring Cloud 的合作。自那时以来,许多客户就这项差异化产品与我们联系。许多组织的 Java 和 JVM 开发人员已经使用了该服务,并提供了大量反馈,帮助我们优先处理功能并塑造 Azure Spring Cloud。我们已经启用了安全功能来管理机密、混合部署、控制应用程序的入站和出站流量,以及使用 TLS/SSL 保护通信。为了支持性能和可靠性,我们启用了自动缩放、日志流、警报和自我诊断。

生产环境很棒,您不必只听我们一面之词

我们热爱 Azure Spring Cloud 平台,希望您也会。我们知道很多人已经爱上了它!事实证明,生产环境确实很棒,您不必只听我们一面之词!在 官方发布博客 上有一些客户评价。

SpringOne 2020 专题:今日与明日

  • Microsoft 的 Asir Selvasingh 和 Adib Sakali 将于今天(9 月 2 日,太平洋时间下午 12:35)在 SpringOne 2020 上进行 客户小组讨论
  • Microsoft 的 Julien Dubois 和 Josh Long 将于 9 月 3 日(太平洋时间上午 11:35)在 SpringOne 2020 上展示 Bootiful Azure Spring Cloud

下一步

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看所有