首页 > 解决方案 > Hyperledger 锯齿 - 请求失败,状态码为 429

问题描述

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

标签: hyperledgerddoshyperledger-sawtoothhttp-status-code-429

解决方案


让我们了解您面临的问题(内容/原因/方式部分):

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

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

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

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

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


推荐阅读