跳到主要内容

react-query 管不到 BFF?alova/server 补上重试限流

· 阅读需 4 分钟
Core maintainers of alova

你用 react-query 搭了前端,它的缓存和重试让浏览器那边很顺。后来你起了个 Node BFF 调三个下游服务,这些调用的重试和限流都落在服务端,而 react-query 在那儿根本不跑。这篇划清 react-query 的工作止步于哪、alova/server 从哪接手,并给出两侧的代码。

你的 BFF 被限流打挂,加一层重试就好

· 阅读需 5 分钟
Core maintainers of alova

你跑着一个 Node BFF,夹在前端和三个下游服务中间。某天下午最大的那个下游开始回 429,你的 BFF 对每个 429 的回应是:立刻把同一个请求再发一遍。一分钟之内,下游被「它已经拒绝过的请求的重试」埋了,你的前端看到一整面 500。这场景熟不熟悉?

axios 和 alova 一起用,谁管什么

· 阅读需 3 分钟
Core maintainers of alova

一句话:它们是分层关系,不是二选一。 axios 是 HTTP 客户端,负责把请求发出去;alova 是请求策略层,负责「怎么请求」——分页、缓存、重试、去重、token 刷新。alova 可以把 axios 用作请求适配器(@alova/adapter-axios),所以选 alova 从来不意味着扔掉 axios。