Azure Spring Cloud 更新:托管虚拟网络和自动缩放功能现已在 Azure Spring Cloud 中正式推出

工程 | Josh Long | 2021 年 3 月 18 日 | ...

注意:此文章由我们的朋友 Kylie Liang (@liangkylie) 撰写,她来自 Microsoft Azure Spring Cloud 团队。感谢 Kylie!

我们很高兴宣布 Azure Spring Cloud 托管虚拟网络和自动缩放功能正式可用。这两项功能对于在 Azure Spring Cloud 服务上安全地大规模运行生产工作负载至关重要。

在托管虚拟网络中保护 Azure Spring Cloud

借助托管虚拟网络功能,您可以在自己的虚拟网络中预配 Azure Spring Cloud 服务,这使得能够实现以下几点:

  • 在公司网络上将 Azure Spring Cloud 应用和服务运行时与 Internet 隔离。
  • 与本地数据中心或其他虚拟网络中的 Azure 服务中的系统交互。
  • 控制 Azure Spring Cloud 的入站和出站网络通信。

此外,我们还支持自带路由表进行自定义路由管理。您可以提供包含附加路由表和 UDR(用户定义的路由)的子网,这些 UDR 控制对您的本地系统的访问以及出站 Internet 连接。

例如,当您创建 Azure Spring Cloud 服务实例时,如果您的自定义子网包含路由表,Azure Spring Cloud 会在服务创建期间识别现有路由表并相应地添加/更新规则。如果您的自定义子网不包含路由表,Azure Spring Cloud 会为您创建一个并在服务生命周期内向其中添加规则。

图 1 图 1:在托管虚拟网络中带有自定义路由表的 Azure Spring Cloud

Azure Spring Cloud 还提供了自诊断功能,帮助您排查网络连接问题,例如私有 DNS 区域配置错误。

图 2 图 2:用于诊断网络连接等问题的诊断页面

Figure 3
图 3:DNS 解析自诊断示例

要了解更多信息,请通过在虚拟网络中部署 Azure Spring Cloud 开始。

动态扩展您的 Azure Spring Cloud 应用以满足不断变化的需求

借助 Azure Spring Cloud 自动缩放功能,您可以自动化应用程序的扩容或缩容,以满足高峰时段的需求,并在不需要时缩减规模以降低运营成本。启用自动缩放后,服务将负责您的底层基础设施以及应用的负载。

图 4 图 4:带有扩容和缩容的指标

由于有些应用受 CPU 限制,而有些应用受内存限制,您可以选择指标并根据其值定义缩放规则。如果您的流量在周一至周五上午 9 点总是急剧飙升,您可以为工作日安排更积极的自动缩放目标。

在 Azure Spring Cloud 中,应用(App)是单个业务应用或单个微服务的抽象。作为应用(App)部署的一个版本的代码或二进制文件在部署(Deployment)中运行。您可以有一个用于生产的活动部署,另一个用于暂存。您可以为每个部署配置自动缩放设置。

Figure 5
图 5:Azure Spring Cloud 应用/部署的自动缩放设置

您可以学习如何为 Azure Spring Cloud 应用/部署设置自动缩放。您还可以使用 Terraform 自动化 Azure Spring Cloud 应用/部署的自动缩放。以下是一个示例。

resource "azurerm_monitor_autoscale_setting" "test" {
  name                = "acctestautoscale-cz"
  resource_group_name = data.azurerm_resource_group.test.name
  location            = data.azurerm_resource_group.test.location
  target_resource_id  = azurerm_spring_cloud_java_deployment.test.id
  enabled             = true
  profile {
    name = "metricRules"
    capacity {
      default = 1
      minimum = 1
      maximum = 2
    }
    rule {
      metric_trigger {
        dimensions {
          name     = "AppName"
          operator = "Equals"
          values   = [azurerm_spring_cloud_app.test.name]
        }

        dimensions {
          name     = "Deployment"
          operator = "Equals"
          values   = [azurerm_spring_cloud_java_deployment.test.name]
        }

        metric_name        = "AppCpuUsage"
        metric_namespace   = "microsoft.appplatform/spring"
        metric_resource_id = azurerm_spring_cloud_service.test.id
        time_grain         = "PT1M"
        statistic          = "Average"
        time_window        = "PT5M"
        time_aggregation   = "Average"
        operator           = "GreaterThan"
        threshold          = 75
      }
      scale_action {
        direction = "Increase"
        type      = "ChangeCount"
        value     = 1
        cooldown  = "PT1M"
      }
    }
  }
}

开始使用

  • 分步教程:通过知名的 Spring 示例应用学习 Azure Spring Cloud 的基础知识。
  • 在线研讨会:通过任务学习如何使用 Azure Database for MySQL 将 Spring Boot 微服务部署到 Azure Spring Cloud。
  • 故障排除技巧:阅读针对 Azure Spring Cloud 服务器端和客户端常见问题的故障排除技巧。

我们将继续发布新功能,您的反馈对它们的改进至关重要,如果您有任何反馈或问题,请联系我们

订阅 Spring 电子报

订阅 Spring 电子报,保持联系

订阅

取得领先

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

了解更多

获取支持

Tanzu Spring 通过一个简单的订阅提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

近期活动

查看 Spring 社区的所有近期活动。

查看全部