Pawoo(git cloneしてきた奴)を実行する際は、リードレプリカを使うのが大前提になっているので、.env.productionに下記の環境変数の設定が必要。
PAWOO_DB_USER_SLAVE
PAWOO_DB_PASS_SLAVE
PAWOO_DB_HOST_SLAVE
PAWOO_DB_PORT_SLAVE
更新を受け付けるメインのデータベースと、読み出しだけに対応するレプリカに分けることで、負荷を分散しているんだね。
現在のMastodonにもリードレプリカを使う機能があるんだけど、Pawooのこの機能はそれ以前に実装されたものだと思うんだけど、採用しているgemが違ったりしていて、独自のもの。
この他、Pawoo独自の拡張には、pixivならではの視点、大規模サーバならではの視点で導入されたものが沢山あって、勉強になるよ。
誰がいつどんな変更を加えたのか、Githubに全て公開されていて、それを検証したり、参考にしたりできるのは、MastodonがAGPLでライセンスされているおかげだね。
Pawooのコードの件ですが、先に書いたリードレプリカ使うところは、10/23には既に削除されておりました。
ElasticSearchとか、スケジュール投稿とか、ExpoによるPush通知関連?とか、移管を踏まえてでしょうか、先々支障になりそうなものがずいぶん整理されていますね。
あとでちゃんと見ておこう……。