jazz
jazz copied to clipboard
Implement sharded server peers
MVP Design:
- Groups and Accounts are synced redundantly with every shard
- might be smarter about which ones are synced in the future, for now duplication is OK
- assumption: most of the storage and sync needs come from normal CoValues and their content
- All other CoValues are synced with shards according to rendezvous hashing of their ID
We might be able to use the presence of "asDependencyOf" to only sync relevant accounts and groups with each shard!
Basically rendezvous hash by ID and sync with those peers And then rendezvous hash by asDependencyOf and sync with those peers
(unsure if it works recursively)
Not sure I want to keep asDependencyOf, it doesn't seem that useful.
We can broadcast now and aim to not requiring dependencies in the core in the future. (leveraging #2081)