Azure Spring Cloud 更新:托管虚拟网络和自动缩放现已在 Azure Spring Cloud 中普遍可用

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

注意:本文由微软 Azure Spring Cloud 团队的同事 Kylie Liang (@liangkylie) 撰写。谢谢,Kylie!

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

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

通过托管虚拟网络功能,您可以在自己的虚拟网络中部署 Azure Spring Cloud 服务,从而实现:

  • 将 Azure Spring Cloud 应用和运行时与互联网隔离,使其位于您的公司网络中。
  • 与本地数据中心或其他虚拟网络中的 Azure 服务进行交互。
  • 控制 Azure Spring Cloud 的入站和出站网络通信。

此外,我们还启用了自带路由表以进行自定义路由管理。您可以提供具有已附加路由表的子网,其中包含用于管理对本地系统和出站 Internet 连接访问的 UDR(用户定义路由)。

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

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

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

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

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

如需了解更多信息,请参阅 在虚拟网络中部署 Azure Spring Cloud

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

借助 Azure Spring Cloud 自动缩放功能,您可以自动化应用程序的纵向扩展或横向缩减,以在高峰时满足需求,并在不需要时缩减以降低运营成本。启用自动缩放后,服务将负责处理基础结构和应用程序上的负载。

Figure 4 图 4:纵向扩展和横向缩减的指标

由于某些应用是 CPU 密集型的,而另一些应用是内存密集型的,因此您可以选择指标并根据其值定义缩放规则。如果您的流量在周一至周五上午 9 点时段激增,您可以为工作日安排更积极的自动缩放目标。

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

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 的基础知识。
  • 在线研讨会:通过任务部署 Spring Boot 微服务到 Azure Spring Cloud 和 Azure Database for MySQL。
  • 故障排除技巧:阅读有关排查 Azure Spring Cloud 服务器端和客户端问题的常见技巧。

我们将继续发布新功能,您的反馈在其中发挥了重要作用,因此如果您有任何反馈或疑问,请 **联系我们**。

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

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

了解更多

获得支持

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

了解更多

即将举行的活动

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

查看所有