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

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

注意:此文章由我们朋友 Microsoft 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 的入站和出站网络通信。

此外,我们还启用了自带路由表以进行自定义路由管理。您可以提供附带附加路由表的子网,这些子网带有管理对本地系统和出站互联网连接的访问权限的 UDR(用户定义路由)。

例如,如果您的自定义子网在您创建 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 中,应用程序 是一个业务应用程序或一个微服务的抽象。作为应用程序 部署的一个代码或二进制文件版本运行在部署 中。您可以为生产环境使用一个活动部署,为暂存环境使用另一个部署。您可以为每个部署配置自动缩放设置。

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 社区中所有即将举行的活动。

查看全部