@amaiyo たとえば、shared_inboxによってノードへの配送の委譲でかなり負荷が下がっているということ、
理想的なノード(サーバ)規模、巨大ノードの場合、大量の最小ノードで構成される場合、トラブル時など、いろいろ考えると面白いですよ(面白がっている場合ではないのですがw)
shared inboxというのは、同じサーバのフォロワーに届けるのをひとつにまとめて、そこから先の配送をそのサーバに任せる仕組み。私のフォロワーは1706なので1706回の配送が必要になるところを、サーバ単位なら487になる。別の7535フォロワーのユーザーは378サーバで済んでいたり。
リレーはオプショナルな仕組みで、受け取る投稿の少ない設置したばかりのサーバや、小規模で利用者の少ないサーバにとってのメリット、できるだけコンテンツを広めたいサーバにとってのメリットなどありますが、
技術的なところでは、大量の投稿を処理する負荷と、その投稿をどのぐらい保持(キャッシュ)するかの問題ですかね。
@amaiyo Mastodonは、管理コマンドによる不要キャッシュのパージ(参照されていない古い投稿などの削除)とか、ユーザーによる自身の投稿の破棄などが実装されていて、そのあたりにも踏み込んでいます。
メディアストレージを共有できないかという提起もなされていますが、集約するメリットと、ノードの独立性などでトレードオフがあり、Mastodonではいまのところ採用していません。
まぁいろいろ面白いので、いろいろ調べてみてください。
@noellabo@fedibird.com ありがとうございます。
ちゃんとその辺も議論されてるんですね
メディアストレージの共有メディアもオリジンから取ってきたら転送量は減りそうですがオリジンへの負荷が増えそうですしねえ
@noellabo@fedibird.com 自分でも考えまとめられてなくて文が散らかってるのがわかるのでお目汚し失礼しました。
@noellabo@fedibird.com 自分のインスタンスのユーザーへの負担は自分が面倒を見るってシステムならスケール性は大丈夫そうですよね。
データベースが分散する事によってキャッシュが増えまくって集権的なシステムに比べてストレージの圧迫が多くなることでしょうか(本質的にはCDNも同じな気もします)
まあコピーがたくさんあるのはそれはそれデメリットなのですが。
そのあたりを考察するにはactivityPubへの深い理解が不可欠そうで、興味のある分野なので一度詳しくw3cの資料とか読まないとなーとか思ってます(
最適なインスタンスの粒度を考えてみたいです