网关组与网关实例
本文将介绍 API7 网关中的高级功能:网关组与网关实例的概念及用法。
概述
网关实例 是处理流量的单个代理,而 网关组 是一个逻辑单元,结合了一个或多个 API 网关实例。这确保了 API 处理的一致性,并简化了整个组的管理。网关组内的多个网关实例独立运行,以实现横向扩展和负载均衡。虽然使用集中配置,但网关实例不共享状态。
默认网关组足以应付简单的场景,例如只有一个集群或生产环境。高级网关组用于复杂的场景,针对不同的子公司、业务线、集群和环境(如 UAT 和 Staging)有单独的 API 策略。虽然 API7 企业版缺乏多个集群和环境的概念,但你可以通过命名和标记网关组来实现相同的目标。
一个网关组包含一个或多个网关实例,但每个网关实例只属于一个网关组。网关实例可以部署在相同或不同的虚拟机、裸机服务器或 Kubernetes 节点上。这样的组合可以满足用户在多条业务线、集群、工作区和环境中的不同需求。
例如,在下图中,有两个团队在公司中使用 API 网关:支付团队和报价团队。支付团队拥有生产和 UAT 环境,而报价团队只有一个生产环境。在这种情况下,可以创建三个网关组:Payment Prod、Payment UAT 和 Quote Prod,并用 Env:Prod 和 Env:UAT 对它们进行标记。

主要功能
-
API 网关组管理:将 API 网关集合作为共享相同配置的逻辑单元进行管理。这简化了管理,并确保了跨网关实例的一致策略实施。
-
业务对齐的网关分区:通过将企业的业务线和解决方案分配给专用的 API 网关组来隔离它们。这种架构方法可以更好地协调 API 基础架构和组织的功能域。
-
物理隔离:网关组在不同的物理环境(包括数据中心、云平台和虚拟机)中隔离多个 API 网关实例。这有效防止了网关组之间的干扰,提高了系统的稳定性和安全性。
-
弹性扩展:网关组根据流量波动动态添加或删除 API 网关实例,以满足业务需求。这提高了资源利用率并降低了运营成本。
-
可扩展且灵活的基础架构:API 网关组的逻辑架构与单个网关实例的物理部署分离。这种方法为 API 基础架构提供了更大的灵活性和可扩展性。
-
细粒度的权限控制:网关组可以为不同的网关实例和 API 启用不同的权限配置,以符合合规性要求。
-
Ingress Controller:支持 Kubernetes Ingress Controller,使用 API7 企业版作为高性能反向代理。使用声明式方式来配置 API7 企业版提供的资源。