IPFS-cluster REST API or pinning service API

In our application we’re currently using the pinning service API of ipfs-cluster because it has a nice interface for meta-data. I see that there’s also a REST API with nice functionality, does anyone know, which one will be maintained more in the future or are both prioritised the same way?

Maybe I am incorrect, but our current application, we have some performance issues, because the pinning service API always queries all connected nodes in a private IPFS cluster. In the REST API, there’s the flag to use `local` node queries only, which I assume would be eventual consistency and is good enough for us. In the IPFS pinning service API in ipfs-cluster I can’t see this option. On the other side, the meta-data filter in the pinning service API is quite nice.

We would be grateful for any ideas before we migrate over to the REST API handling

Regards Jure

We recently launched an IPFS service, wondering which operations are you having performance issues…

I’m not even sure it’s a classic performance issue, just a design element that turned out differently than we expected. I’ll try to explain our interpretation :blush:

In our case, we have a private IPFS and ipfs-cluster network of e.g. 5 nodes. Our app used the ipfs-cluster pinsvc API, mainly because we could filter for meta-data directly in the API call and receive the respective pins. The network is configured with full replication, i.e. all nodes have all the data.

When doing the query for pins with specific meta-data, the performance degraded with additional nodes, because the ipfs-cluster query goes to the whole network, so there’s a network bottleneck. This is although all data is available on the local node, but I guess the local node can’t know this.

When using the ipfs-cluster REST API, you can set a flag `local`, which improves performance 100x and still gives eventual consistency which is good enough for us. However the REST API doesn’t seem to have the nice filter functions on meta-data, so currently we get all pins and then filter ourselves. Which works fine for the moment.

If I misunderstood any of the inner workings of ipfs or ipfs-cluster, I am sorry, but this is how far I got to understand the behaviour at the moment.