跳到主要内容
版本:3.10.x

高可用性

API 网关的高可用性(HA)是指即使在出现故障或异常情况下也能提供不间断服务的能力。这通常是通过冗余和负载均衡等技术来实现的:

  • 冗余:部署多个 API 网关实例以消除单点故障。单个实例发生故障时,其他实例可以继续处理请求。
  • 负载均衡:确保传入请求分布在多个 API 网关实例上。这有助于在每个实例上维持可接受的工作负载,从而提高整体服务质量和可靠性。

通过结合这些策略,组织可以最大限度地减少停机时间并保持一致的性能,确保网关在各种条件下保持稳健。

主要特性

API7 网关将高可用性扩展到控制面(CP)和数据面(DP),确保整个系统的弹性和可靠性。

  • 数据面高可用:API7 网关使用无状态数据面,将数据面与控制面解耦。数据面可以从本地存储、Amazon Simple Storage Service(S3)或 Azure Blob Storage 获取配置,也可以使用独立模式,从而便于水平扩展。即使控制面停机,数据面仍可继续处理流量。该架构支持毫秒级配置更新和数千个网关节点。

    API7 网关还提供健康探测端点。负载均衡器(LB)可以使用这些端点监控网关实例状态,并在实例不健康时将请求重新路由到健康实例,避免服务中断。健康检查机制可以保障服务连续性和流量平稳转移。

  • 控制面高可用:API7 网关使用 PostgreSQL 作为默认配置中心。PostgreSQL 提供成熟的主从和多主高可用方案,可以减少停机时间并保持数据一致。控制面还会定期将配置写入 S3 或 Azure Blob Storage 进行备份,确保数据冗余并降低丢失风险。配置与控制台解耦后,可以部署多个控制台实例以增强系统弹性。

API7 网关的多数据中心高可用性拓扑:两个数据中心均以主备模式运行完整的 API7 网关部署(控制面和数据面集群);如果一个数据中心发生故障,另一个数据中心可以继续提供服务

用例

灾难恢复和容错

凭借高可用性,API7 网关可以保护系统免受意外故障的影响,例如服务器崩溃或网络中断。API7 网关定期将配置写入 Amazon S3 或 Azure Blob Storage,增强灾难恢复能力。此外,利用具有主从和多主配置的 PostgreSQL 可以确保数据一致性和系统弹性,即使在严重中断期间也是如此。

该机制可以自动将流量重定向到健康节点或故障转移系统,确保 API 流量不中断。API7 网关的高可用设计还支持在不中断服务的情况下进行系统更新、维护和扩容,持续保障 API 服务的完整性与可靠性。

弹性应对流量增长

API7 网关旨在利用无状态数据面架构来满足现代系统的可扩展性要求。该设计将数据面与控制面解耦,从而实现无缝、灵活的扩展,以适应波动的流量。

为进一步增强可靠性,API7 网关支持独立模式,也可以从本地存储、Amazon S3 或 Azure Blob Storage 获取配置。即使发生意外中断或流量激增,这些机制也能保障服务持续可用。借助高可用、可扩展的架构,API7 网关可以有效处理突发流量峰值,而不影响性能或用户体验。

多云和混合云部署

除了本地部署外,API7 网关还可以跨多云和混合云环境部署。组织可以将控制面和数据面组件放置在最适合其运营、合规性和灾难恢复要求的区域或基础设施中。

这种方法使企业能够保持持续的服务交付,遵守复杂的法规,并在多云或混合云生态系统中有效地扩展其运营。

使用健康检查增强系统弹性

API7 网关通过健康检查机制持续评估网关实例状态,快速识别并隔离不健康实例。系统会自动将流量重新路由到健康实例,尽量降低峰值负载或意外故障期间服务中断的风险。

该机制可以检查网关运行状态以及是否已准备好接收流量,不仅增强整体系统弹性,也能在关键操作、维护和扩容期间保障 API 持续可用,为用户提供可靠体验。