浏览 SAP BTP Cloud Foundry 运行时中的路由和网络连接

学习目标

  • 介绍 SAP BTP Cloud Foundry 运行时中的路由和网络。

贵公司正在过渡到 SAP BTP Cloud Foundry 运行时上的微服务体系结构。作为开发人员或系统管理员,您需要了解 Cloud Foundry 如何管理应用程序路由和网络,以确保微服务和外部客户端之间的无缝通信。本课将向您介绍 SAP BTP Cloud Foundry 运行时中路由、自定义路由和微服务通信的基础知识。

Cloud Foundry 中的路由基础知识

Cloud Foundry 中的路由是将传入 HTTP/S 流量定向到正确应用程序实例的流程。它作为应用程序与用户之间通信的主干,确保 Web 内容和服务的无缝交付。

路由和域映射

Cloud Foundry 中的路由本质上是允许最终用户访问您的应用程序的 URL。它们将域名映射到特定应用程序。HTTP 路由包括域、主机名(或子域)和可选路径。

有多种方法可以将路由映射到 Cloud Foundry 中的应用程序:

  • 您可以使用 cf push 命令将路由映射到应用。自 cf CLI v7 起,执行此操作的最佳方法是使用清单中的 路由 属性。

  • 您可以将 --random-route 标志与 cf push 一起使用,也可以在清单中使用 random-route: true 为应用创建随机路由。

  • 您可以通过 CF CLI 或 BTP 主控室中的 create-route 和 map-route 命令手动创建路由并将其映射到现有应用程序。如果路由不存在,map-route 命令将创建路由并将其映射到应用程序。将现有路由映射到应用程序时,路由和应用程序必须在相同的 CF 空间中。

在 SAP BTP 中,还可以将单个路由映射到多个应用程序,以及映射到单个应用程序的多个路由。在要在应用程序的不同实例之间分配流量,或者想要在不同路由下公开单个应用程序的不同功能的场景中,此功能特别有用。有关详细信息,请参阅配置路由和域

负载平衡和流量分配

缺省情况下,SAP BTP CloudFoundry 路由层使用循环算法跨应用程序实例对请求进行负载平衡。这意味着每个传入请求都将发送到列表中的下一个应用程序实例,并在到达最后一个实例后循环回第一个实例。此方法在多个实例中平均分配流量,以防止过载并最大化资源利用率。这可确保始终保持较高的应用程序性能和顺畅、高效的用户体验。有关详细信息,另请参阅路由器平衡算法

其他负载平衡算法(如最小连接优先和其他功能)可通过每个路由选项的自定义路由选项来配置,这些路由选项会影响单个路由的路由层行为。

如果要为应用程序配置自定义路由算法,请遵循支持可定制负载平衡算法博客帖子中介绍的步骤。

Cloud Foundry 还支持会话关联,也称为粘性会话,允许将特定客户端的所有请求定向到同一应用程序实例。这对于需要在请求之间进行状态维护的应用程序很有帮助。但是,会话相似性通常用于旧应用程序,而不是现代应用程序体系结构的首选模式。有关详细信息,请参阅有关会话关联性的文档。

自定义域

您可以在 Cloud Foundry 中使用自定义域,并将这些域上的路由分配到应用程序。有关详细信息,请查看此文档

摘要

本课介绍了 Cloud Foundry 中的路由和网络,这是在平台中部署和管理应用程序的关键方面。您已了解 Gorouter 作为外部流量的入口点,以及如何将域名路由映射到特定应用程序。您可以下钻到负载平衡以跨应用程序实例有效地分配流量。然后,您已了解如何创建和管理自定义路由,使用主机名和路径对其进行优化,以定制流量流。

进一步阅读

  • 将路由映射到应用程序

  • HTTP 路由

  • 配置路由和域

  • 支持 HTTP/2