Hyperledger 锯齿波 - 请求失败,状态码为 429

Hyperledger sawtooth - Request failed with status code 429

我正在使用 Hyperledger 锯齿波,我在其中存储交易,同时我也在读取交易。
但在某些时候,我收到 “请求失败,状态代码为 429”的错误,一些批次被拒绝。
有人遇到过类似的问题吗?您找到替代解决方案了吗?

让我们了解您面临的问题(what/why/how 部分):

Hyperledger Sawtooth 如果发现请求过多,将拒绝代码为 429 的客户端请求。验证器维护正在生成多少块、有多少交易流入它的统计数据,并预测它可以在给定的内部处理多少交易。换句话说,如果您开始收到错误代码 429,则表明您的验证器认为它有足够的交易要处理。这将使验证器免受大量请求的影响。

可能的解决方案:(这些只是许多可能性中的几个建议)

  1. 限制客户端交易率:代理客户端请求,设置重试机制将交易发送给验证器。如果你的代理层发现验证器已满,让它缓存来自客户端的请求。

  2. 禁用验证器的背压处理程序。我不知道它有任何标志。我看到人们这样做并发现这不是一个好主意。

希望您找到最适合您的解决方案,很高兴了解哪种解决方案适合您