feat: implement gateway/node-optimization heuristic lib #138
Labels
dif/hard
Having worked on the specific codebase is important
effort/days
Estimated to take multiple days, but less than a week
Epic
kind/enhancement
A net-new feature or improvement to an existing feature
need/community-input
Needs input from the wider community
need/maintainers-input
Needs input from the current maintainer(s)
P1
High: Likely tackled by core team if no one steps up
status/ready
Ready to be worked
I think we should create a library for this, as I've been thinking about this since I starting working with IPFS, but always in the context of a flat "gateway-racer" that queries given gateways in parallel.
It would be much more useful to the entire ecosystem if we built a library that queried various endpoints (kubo node, network via helia, gateways via trustless-fetch, IPNI routing, etc) and kept a weight-sorted array that auto-adjusted based on response timings and success frequencies. Each consumer fetching content have their own latencies from various gateways/endpoints/etc, as well as various spikes to popular services that may be overloaded at a particular time.
A library that automatically corrects to the fastest, most successful content provider would reduce load hot-spots throughout the IPFS network while improving every consumer's experience.
I think this would make sense both in the "helia-fetch" library we've discussed creating a number of times and as a plugin/addon/consumer of that library.
See ipfs/ipld-explorer-components#379 (comment) for more information about the origin of this issue.
cc @lidel @whizzzkid
The text was updated successfully, but these errors were encountered: