浏览 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