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

问题描述

我正在使用 Hyperledger锯齿,在其中存储事务,同时读取事务。
但是在某些时间点,我收到错误消息“请求失败,状态代码为429” ,并且某些批次被拒绝。
有没有人遇到类似的问题?您是否找到其他替代解决方案?

解决方法

让我们了解您面临的问题(什么/为什么/如何):

Hyperledger Sawtooth如果发现请求过多,则拒绝代码为429的客户端请求。验证器维护正在产生多少块,有多少交易流入其中的统计信息,并预测给定内部可以处理多少交易。换句话说,如果您开始收到错误代码429,则表明您的验证程序认为它有足够的事务要处理。这样可以避免验证程序产生过多请求。

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

  1. 限制客户端事务速率:代理客户端请求,放置重试机制以将事务发送到验证程序。如果您的代理层发现验证器已满,请让它缓存来自客户端的请求。

  2. 从验证器禁用反压处理程序。我不知道有任何标志。我见过有人这样做,并弄清楚这不是一个好主意。

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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...