Scalable IPFS cluster based private network setup

Hi Team,

We are designing our IPFS cluster based private network. Please help me out by clearing few of my doubts.

Currently, we have a multi-host private IPFS network. Every VM has one IPFS cluster and one IPFS Node.

We are adding files to the IPFS node, and the pinning service is called on the IPFS cluster. So, how can we implement scalability for our network. Let me correct if I’m wrong for any of these doubts:

Q1. When we are adding files to an IPFS node, that file is saved into the local storage of that IPFS node only, and other nodes get access of that file from the IPFS cache only.

Q2. When we are calling pinning serivice into ipfs cluster, cluster divides that files into blocks and distribute that blocks to other nodes consistently, i.e. those files are not replicated on all the nodes, but blocks of files will be distributed. Is it?

Q3. We have seen examples of the implemenation where ther is one IPFS node and a sidecar IPFS cluster node. So, is it possible for one IPFS cluster node to have multiple IPFS nodes?

Q4. For load balancing, should we increase no of ipfs cluster node or ipfs node.? How will it work?

Scalability of what? What do you want to scale? What usage amount and pattern do you expect?

Yes, other nodes will become providers when they have downloaded that content.

No. IPFS chunks the content you add (and cluster chunks it too if you add it via cluster), but it is stored chunked in IPFS. The CID points to the root of a DAG that contains all the block in the file. Pinning the CID means replicating all the blocks. Cluster orchestrates where things are pinned, but does not deal with blocks directly. How many times the pins are replicated (that is, on how many ipfs nodes) depends on the replication factor.


Load balancing of what? Writes? Bitswap reads? HTTP reads?