Comments (9)
I'd like to be clear. Is this pinning blocks or pinning merkel dags that describe files? I.e., say I use ipfs add shakespeare.txt
and get a hash there representing the file--if I add that to the cluster, will the cluster distribute the file in the way you describe or distribute the individual blocks?
Also, can this support clusters where nodes have limits that vary?
from ipfs-cluster.
@20zinnm right now its not pinning blocsk individually. It's equivalent to ipfs pin add
. It will distribute the file.
Also, can this support clusters where nodes have limits that vary?
yes, it should not be difficult to implement custom strategies for different limits.
// fixed formatting ~ Kubuxu
from ipfs-cluster.
@hsanjuan I've been doing some reading concerning the Raft consensus algorithm you use in ipfs-cluster, and I wonder why a model like this wouldn't work:
- Leader receives request to pin IPFS file.
- Leader commits a message like 'ADD [hash]' or something.
- Followers receive the request and break it down to individual blocks.
- Followers then decide whether or not they have the capacity to keep specific blocks.
- Should a follower decide to keep a block, it proposes a change to the log with the block hash (and if in an untrusted environment a proof of retrievability 1).
- The leader will commit it (or, if in an untrusted environment, will commit it after verifying the proof).
- Followers prioritize blocks to keep based upon how many others are included in the state as keeping the block.
This would allow for fine-grained distribution and replication at the block level to maximize the utilization of peers and allow them the ability to chose whether or not to take blocks. This is advantageous because it allows for heterogeneous peers (my raspberry pi with a gigabyte and a rack in the cloud with a petabyte can participate on the same cluster).
from ipfs-cluster.
Hello @20zinnm ,
As it was pointed out on irc, while your proposal offloads the tracking decision to the nodes, it does not allow to provide balancing strategies where comparison between nodes are needed (i.e. geographically or network-topology based decisions).
Regarding block-level tracking, as I said, on this first approach we will not do it. A number of reasons were also provided on irc. I think you can accommodate your use case by sending the block hashes to cluster rather than the main hash, as cluster does not make distinctions. Would that work for you?
from ipfs-cluster.
PR is in.The re-pinning on host failure has been moved to #45.
from ipfs-cluster.
What is the default replication factor in an ipfs-cluster?
Would love to know that.
from ipfs-cluster.
from ipfs-cluster.
Thanks.
What's the range for these replication factor variables here?
I see the https://cluster.ipfs.io/documentation/configuration/#the-cluster-main-section describing the default values for replication factor, but not the range of values.
from ipfs-cluster.
from ipfs-cluster.
Related Issues (20)
- ipfs cluster have a Default management webUi? HOT 2
- cluster Sees 0 other peers HOT 3
- I can't disable unpin parameter for the ipfshttp in docker compose file? HOT 3
- Fetching files from IPFS-cluster using CID HOT 1
- How to listen on a WebSocket or WebTransport or WebRTC address, so that I can dial to the cluster from helia browser node HOT 7
- IPFS cluster client's add endpoint's response HOT 1
- Error while adding multiple files in the IPFS cluster based private network HOT 1
- Error in adding and removing files from IPFS nodes HOT 1
- Pinning multiple files when adding multiple files like Kubo HOT 1
- Pins not replicated, while clusters sees each other HOT 3
- Does ipfs-cluster support byzantine tolerance? HOT 2
- ipfs-cluster-ctl peers ls errors on unknown protocol HOT 1
- Support configurable pinning only on untrusted peers
- Docker image for ARM HOT 1
- v1.0.7 - [FATAL tini (7)] exec /usr/local/bin/custom-entrypoint.sh failed: Exec format error HOT 3
- feat: support enabling Helia on nodejs as a node in an ipfs-cluster HOT 3
- Failure of `ipfs-cluster-ctl ipfs gc` results in inconsistent storage files. HOT 1
- Connection to Kubo via Unix domain socket fails with HTTP error HOT 2
- ipfs-cluster doesn't maintain /dns4 ipfshttp.node_multiaddress entries as DNS addresses. HOT 3
- Pebble supports 32-bits now HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ipfs-cluster.