フォローするユーザーを探す機能、色々要件整理していくと最終的に全インスタンスを跨いだユーザー検索システムになるんだよね。
- インスタンスを跨いで探せるのは必須
- ActivityPubによる連合機能を有効にしている以上、自インスタンスに所属するユーザー層には偏りがあるため。
- 他インスタンスのユーザーを能動的にクロールしてくると理想
- 自インスタンスに所属するユーザー層に偏りがある以上、自インスタンスに所属するユーザーがフォローしているユーザー層にも偏りがあるはず。
上2つを満たすような検索システムをインスタンス毎に作ることにしちゃったら、クローラーによるサーバー負荷はバカにならないし、そもそもインスタンスに必要なサーバースペックがやばくなるので、結局ユーザー検索システムは、独立した少数の中央集権的サービスとして作るのが最適かなと。