Federation & Storage Design
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- sqlite, typescript
- Área
- databases, distributed-systems
Línea de trabajo
El issue no menciona archivos, pruebas ni puntos de entrada. Empieza por resolver las tres propuestas de federación y almacenamiento y sus preguntas abiertas; se considera terminado cuando se haya elegido una arquitectura y se hayan documentado los requisitos de sincronización de espacios privados, ordenación de miembros y descubrimiento de servidores.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- TypeScript
- Estrellas
- 22
- Forks
- 12
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de graphprotocol/hypergraph
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
graphprotocol/hypergraph#517 ·
-
Section of docs is confusing Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
graphprotocol/hypergraph#323 · 3 comentarios ·
-
Improve Space Inbox Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
graphprotocol/hypergraph#542 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
graphprotocol/hypergraph#529 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
graphprotocol/hypergraph#528 ·
Todos los issues de graphprotocol/hypergraph
Issues similares
-
VerificationGate: ATTRIBUTION quote guard never matches a normal quotation (\b around the quote) Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
danielmiessler/LifeOS#2234 ·
-
T: Bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
-
Mend: dependency security vulnerability untriaged
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100