peer-base / peer-star

Distributed Applications and their internal building blocks exposed as reusable components that can be used for all kinds of p2p usecases
MIT License
44 stars 8 forks source link

Scalability enhancement: sharding support #20

Open jimpick opened 5 years ago

jimpick commented 5 years ago

For some large scale applications, it is fairly easy to "shard" the application to provide scalability ... eg. PeerPad documents have no dependencies on each other, so it would be easy to sort them into individual shards so that the backend server assets needed for collaboration could be scaled.

Two things that could benefit from some sharding management are:

With consistent hashing (already used in peer-star-app), it should be possible to add or remove shards dynamically so the clustered/sharded services can be scaled up and down to match load.