Azure API 管理承诺每秒 1000 个请求的实例。(我不知道这是一个正确的比率,但我们假设它是正确的)。我的问题是我们如何仅通过扩展 API 管理实例来扩展 Web 服务而不扩展其基础架构。
例如,如果 Azure API 管理支持一个实例每秒 1000 个请求,那么后端服务也应该在其基础架构中支持相同的请求处理阈值。如果是这种情况,那么通过 Azure API 管理扩展 Web 服务的真正含义是什么。
Azure API 管理承诺每秒 1000 个请求的实例。(我不知道这是一个正确的比率,但我们假设它是正确的)。我的问题是我们如何仅通过扩展 API 管理实例来扩展 Web 服务而不扩展其基础架构。
例如,如果 Azure API 管理支持一个实例每秒 1000 个请求,那么后端服务也应该在其基础架构中支持相同的请求处理阈值。如果是这种情况,那么通过 Azure API 管理扩展 Web 服务的真正含义是什么。
通过使用 Azure API 管理,您可以轻松打开缓存,这可以显着减少后端的流量。此外,您的 API 管理实例可以轻松扩展以支持更多虚拟机。但是,如果后端无法处理流量(缓存后),那么您可能需要一个更具可扩展性的后端 :)
苗是对的。但是请记住,Azure API 管理缩放仅适用于 GET 请求。加上 API Management 提供的缓存大小现在只有 1GBas [将来可能会增加];到今天为止没有监控。因此,如果您需要监控 API 管理缓存,请使用 Redis 等外部缓存。当您谈论可扩展性时,它将涉及所有层。API 管理消费计划是考虑 Auto Scaling 的不错选择。然后考虑使用 Azure VMSS 或应用服务自动缩放来缩放支持的 API。如果您的后端 APIS 正在与 DB 对话,那么请考虑类似 Autoscale for DB on Azure 之类的东西,例如 SQL Azure HyperScale。因此,可扩展性不仅在 API 管理级别,而且在所有层级都要仔细考虑。
API 管理中缓存的示例实现在这里 - https://sanganakauthority.blogspot.com/2019/09/improve-azure-api-management.html