反面模式:允许运行缓慢的后端
您正在查看的是 Apigee Edge 文档。
转到 Apigee X 文档。 信息
后端系统运行 API 代理访问的服务。换句话说,它们是 API 和 API 管理代理层存在的基本原因。
任何通过 Edge 平台路由的 API 请求在到达后端之前都会遍历典型路径:
- 请求源自客户端,客户端可以是浏览器、应用等。
- 然后,Edge 网关会收到该请求。
- 请求在网关内处理。在此处理过程中,请求被传递给多个分布式组件。
- 然后,网关将请求路由到响应该请求的后端。
- 然后,来自后端的响应会通过 Edge 网关将确切的反向路径遍历回客户端。
实际上,通过 Edge 路由的 API 请求的性能同时取决于 Edge 和后端系统。在这种反面模式中,我们将重点关注由于后端系统性能不佳而对 API 请求的影响。
反模式
让我们以有问题的后端为例。可能的情况如下:
后端容量不足
后端速度缓慢
后端容量不足
通过 API 在这些后端系统上公开服务所面临的挑战在于,大量最终用户可以访问它们。从业务角度来看,这是一个值得面对的挑战,但也是需要解决的问题。
很多后端系统尚未使其服务准备好满足这种额外需求,因此其容量不足或未进行调整以实现高效响应。
后端“容量不足”的问题在于,如果 API 请求数量激增,则会使后端系统上的 CPU、负载和内存等资源承受压力。这最终会导致 API 请求失败。
后端速度缓慢
后端调整不当的问题在于,对收到的任何请求的响应都非常慢,从而导致延迟时间增加、过早超时和客户体验受损。
Edge 平台提供了一些可调优选项,用于规避和管理运行缓慢的后端。但这些选项也具有局限性。
影响
- 如果后端容量不足,则流量增加可能会导致请求失败。
- 在后端速度缓慢的情况下,请求的延迟时间将会增加。
最佳做法
- 使用缓存来存储响应,以缩短 API 响应时间并减少后端服务器的负载。
- 解决后端服务器速度慢的根本问题。
深入阅读
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-02-07。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"没有我需要的信息"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"太复杂/步骤太多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"内容需要更新"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻译问题"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/代码问题"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"易于理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"解决了我的问题"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
{"lastModified": "\u6700\u540e\u66f4\u65b0\u65f6\u95f4 (UTC)\uff1a2024-02-07\u3002"}
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2024-02-07。"],[],[]]