celestiaorg / celestiaorg/celestia-node
feat(shrex): client side throttling
- Dominant language
- Go
- Stars
- 996
- Forks
- 1.1k
- Avg merge
- 1d 6h
- Merged PRs (30d)
- 34
Description
### Implementation ideas
Currently for historical sampling, shrex client uses peers found by the discovery module. The default amount of peers found by discovery is 5 and those peers are random peers from the network that advertise themselves as full nodes. Historical sampling is controlled by DASer that tries to utilize full bandwidth of the node by taking advantage of multiple parallel workers. Some of the found peers could be slow or lazy (_do not respond with data and just hang until timeout_). The higher the proportion of bad peers, the more load is put on good ones. This could lead to very high load from single client to good full node and hit the rate limiting on server side.
One of the things that could help with shrex stability is client side throttling, that would limit amount of parallel request sent to same peer. Such safety feature could be done inside peer-manager.
Contributor guide
Assessment
This issue has not been assessed yet.