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:
selecting different websocket-star rendezvous servers based on the shard
selecting different pubsub gossip channels based on the shard
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.
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.