Federation & Storage Design
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 25/100
- issue の種類
- 機能追加
- 明瞭さ
- 説明が足りない
- 活発さ
- 停滞
- 技術スタック
- sqlite, typescript
調査の方向性
この issue では、ファイル、テスト、エントリポイントが指定されていません。まず、フェデレーションとストレージに関する3つの提案および未解決の疑問を解決してください。アーキテクチャが選定され、プライベートスペースの同期、メンバーシップの順序付け、サーバー検出の要件が文書化された時点で完了です。
索引モデルが issue の本文から書いたものです。
説明
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
- 主要言語
- TypeScript
- スター
- 22
- フォーク
- 12
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
graphprotocol/hypergraph のほかの issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 78/100
graphprotocol/hypergraph#517 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 68/100
graphprotocol/hypergraph#323 · コメント 3 件 ·
-
Improve Space Inbox オープン
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
graphprotocol/hypergraph#542 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
graphprotocol/hypergraph#529 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
graphprotocol/hypergraph#528 ·
graphprotocol/hypergraph の issue をすべて見る
似ている issue
-
VerificationGate: ATTRIBUTION quote guard never matches a normal quotation (\b around the quote) オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
danielmiessler/LifeOS#2234 ·
-
T: Bug
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
-
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
-
Mend: dependency security vulnerability untriaged
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100