高可用性
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 网关定期将配置写入 Amazon S3 或 Azure Blob Storage,增强灾难恢复能力。此外,利用具有主从和多主配置的 PostgreSQL 可以确保数据一致性和系统弹性,即使在严重中断期间也是如此。
该机制可以自动将流量重定向到健康节点或故障转移系统,确保 API 流量不中断。API7 网关的高可用设计还支持在不中断服务的情况下进行系统更新、维护和扩容,持续保障 API 服务的完整性与可靠性。