ハード的なサーバの分散と、名前や管理単位のコミュニティの分散とは分けて考えられないのかな。
現在、一つのサーバに人がたくさん集まっていると、たとえばそのサーバが落ちるとたくさんの人がアクセスできなくなる。でもそれは一つのサーバに集中しているから。同じmastodon.exampleの名前のもとで別々のサーバに分かれた同じコミュニティがあってもいいと思う。
サーバという「実装」が見えているからそれとコミュニティを重ねてしまうけど、(本来は)分けて考える方がいいのではないかと思った。
(あまりちゃんと考えてないけどとりあえず投稿)
@hyuki Mastodonの実装としては、サーバのドメイン名ごとにPostgresとRedisが用意されていて、その範囲で一貫性が保たれている必要があると理解してます。大きいサーバではそのドメインの裏でロードバランサとかアプリケーションサーバとかデータベースとか多数のハードウェアが動いていてそっちはそっちでクラウド業者的な観点での分散が実現していそうです。
大きいMastodonドメイン/コミュニティ内で複数のMastodonサーバを稼動させるには、サーバのドメイン名ごとにPostgresとRedisの一貫性が保たれているという前提を崩す必要があるので、例えばアカウントごとにどのMastodonサーバに処理を転送する(シャーディングする)か、というアルゴリズムと実装が必要になりそうです。
逆に、多くの小さいMastodonサーバを単一のサーバで動かすようにする(マルチテナントにする)とMastodonホスト業者さんは小さいサーバをより安く提供できるようになりますが、ソフトウェアの実装が複雑になるので実現していません。