Federation & Storage Design
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- sqlite, typescript
- Ambito
- databases, distributed-systems
Direzione di ricerca
L’issue non indica file, test o punti di ingresso. Inizia risolvendo le tre proposte di federazione e archiviazione e le relative domande aperte; il lavoro è completato quando viene scelta un’architettura e vengono documentati i requisiti di sincronizzazione degli spazi privati, ordinamento dei membri e rilevamento dei server.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
This is only relevant to private spaces
Requirements
- Real-time sync must be possible (Relaying over 1-2 servers would be fine)
- We space membership we need linear ordering: we either move it on chain or we have dedicated lead sync server per space
Ideas
Proposal A
- Multi-sync server architecture where sync you can host your own
- Each space defines a dedicated sync server.
- On the sync server we one sqlite per Space.
Implications
- could mean that clients need to connect to a lot of sync servers if you subscribe to several private spaces. Chrome e.g. has a limit of 255 Websocket connections. That said subscribing to multiple space on one sync server could re-use the same connection.
- real-time sync is easy to achieve in a space
- migration to another server could be get the sqlite db and upload it there
- could be that we can leverage Cloudflare for this (they have Sqlite + Websockets and scale well)
Open questions
- How can I list my private spaces?
- Where can I find out about which sync server to use for a private space?
- We have little experience with sqlite per space. Bluesky does it and it seems to work well
- Has pros and cons regarding versioning (larger eco-system that moves slower, but we also can experiment easier)
Proposal B
One centralized system maintained by the Graph Foundation, Edge & Node, Geo.
Implications
- the easiest to implement and maintain
- not decentralized
Proposal C
- Federation between servers
- There is one main sync server for each space, but message can be forwarded in a peer to peer network
Open questions
- I think we have little experience with federation and not sure there are many benefits
- Lingua principale
- TypeScript
- Stelle
- 22
- Fork
- 12
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di graphprotocol/hypergraph
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
graphprotocol/hypergraph#517 ·
-
Section of docs is confusing Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
graphprotocol/hypergraph#323 · 3 commenti ·
-
Improve Space Inbox Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
graphprotocol/hypergraph#542 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
graphprotocol/hypergraph#529 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
graphprotocol/hypergraph#528 ·
Tutte le issue di graphprotocol/hypergraph
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
bug v2
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
modelcontextprotocol/inspector#2458 · 1 commento ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 75/100
railmapgen/rmp-gallery#4068 ·
-
Mend: dependency security vulnerability status: needs triage 🕵️♀️
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
carbon-design-system/ibm-products#9907 ·