さんがブースト
Fedibirdの現在の構成図です。
基本的な構成と比較していきます。
マシンの台数を増やしています。同じ構成のサーバを2台置いて、負荷の分散・処理能力の増強、片方が落ちてもサービスが停止しないように構成しています。
データベース(PostgreSQLとRedis)は、2台が同じものを参照する必要があるので、別のマシンに分けて実行しています。
Storageは、ローカルファイルシステムだと両方のマシンから読み書きできないので、外部のオブジェクトストレージ(Amazon S3)に変更しています。
Sidekiqは、キュー毎にプロセスを分離しています。
PostgreSQLへ同時接続するプロセスがどんどん増えていくので、pgbouncerを経由して接続することで、PostgreSQL側の接続数を一定以内に制限し、接続を再利用することで効率化しています。
2台の手前にHAProxyを置いて、外部からは一つのサーバに見えるようにして、2台のサーバに接続を分散させます。
全文検索用にElasticsearchを追加しています。
あとは、二重化したりバックアップする機構です。
さんがブースト
Mastodonの基本的な構成図です。
Mastodonをシンプルに構成すると、図のような構成になります。
一番手前にNginxを置いて、バックエンド側の、WebUIとAPI(Puma)、ストリーミング(Node)、メディアファイル(Storage)へのアクセスを中継します。
データベース(PostgreSQL)へ、Puma、Node、Sidekiqがそれぞれ接続します。
もう一つのデータベース(Redis)へ、Puma、Node、Sidekiqがそれぞれ接続します。
ローカルファイルシステム(Storage)へは、Puma、Sidekiqが読み書きを行い、Nginxが読み出してユーザーのリクエストに応えます。
PumaとSidekiqは、インストールしたrubyの環境で実行されます。
Nodeは、node.js v12〜の環境で実行されます。
Pumaは、ユーザーのブラウザに初期値とJavaScriptのコード(WebUI)を渡して、それ以降はAPI経由でやりとりします。
この他、ImageMagickやFFmpegがメディアの変換に使われています。
【ノーナ・リーヴス - ENJOYEE! (YOUR LIFETIME) 2017】
https://open.spotify.com/track/0K21pl6N6YANN1fwoGmowj
【ノーナ・リーヴス - Disco Masquerade】
https://open.spotify.com/track/4H9pIkm82aM6k1bDdD9pV9
【ノーナ・リーヴス - NOVEMBER】
https://open.spotify.com/track/6D47lsLbhl0Bn3m9o4AJs3
【 - Advertisement】
https://open.spotify.com/track/2f7xXseBJPs97wtNSFmF9l
【ノーナ・リーヴス - 透明ガール】
https://open.spotify.com/track/5Ay8AahBVJCap7dSLxR7jR
【ノーナ・リーヴス - 土曜日の恋人】
https://open.spotify.com/track/6QPxwu1ANmwojiIkMhw12L
【ノーナ・リーヴス - NEW SOUL -2017 MIX- - 2017 Mix】
https://open.spotify.com/track/42Pz3YB4nSYyNh8VCcga0m
【ノーナ・リーヴス - 愛の太陽】
https://open.spotify.com/track/2Xj5WFawXW6AFkRsKDGUiq
【メーガン・トレイナー - Hurt Me - From "Songland"】
【メーガン・トレイナー - Title】
https://open.spotify.com/track/0k5hoseEJnCAbpRh38dNoI
【メーガン・トレイナー - LET YOU BE RIGHT】
https://open.spotify.com/track/28nrOocj11pS0UVH2VM6b5
【メーガン・トレイナー - Mom (feat. Kelli Trainor)】
https://open.spotify.com/track/7DCmHP3gX1PvlQNm0ia8Cf
【メーガン・トレイナー - Mom (feat. Kelli Trainor)】
https://open.spotify.com/track/7DCmHP3gX1PvlQNm0ia8Cf
【メーガン・トレイナー - Lips Are Movin】
https://open.spotify.com/track/6gj08XDlv9Duc2fPOxUmVD
ええなぁ……
~~~~~~~~~~
[https://itabashi.0j0.jp/@ProgrammerGenboo/104641641281447849]
@ProgrammerGenboo@itabashi.0j0.jp
#WhatYouarePlaying #NowPlaying 🎶 【シャルル - バルーン (COVER) by Kumamiyu / 熊川みゆ - YouTube】 youtube.com/watch?v=nXzS7P9HMX
#WhatYouarePlaying
#NowPlaying 🎶
【シャルル - バルーン (COVER) by Kumamiyu / 熊川みゆ - YouTube】
https://www.youtube.com/watch?v=nXzS7P9HMXo&feature=push-u-sub&attr_tag=ZWvBi5qQ2v_CKKOZ%3A6
✿=========================✿
ℑ𝔫 𝔬𝔯𝔡𝔢𝔯 𝔱𝔬 𝔟𝔢 𝔦𝔯𝔯𝔢𝔭𝔩𝔞𝔠𝔢𝔞𝔟𝔩𝔢
𝔬𝔫𝔢 𝔪𝔲𝔰𝔱 𝔞𝔩𝔴𝔞𝔶𝔰 𝔟𝔢 𝔡𝔦𝔣𝔣𝔢𝔯𝔢𝔫𝔱.
✿=========================✿
👨🎓𝑺𝒕𝒂𝒕𝒖𝒔: 社会人2年生
🎂𝑩𝒊𝒓𝒕𝒉𝒅𝒂𝒚: 2002/3/3
💖𝑳𝒊𝒌𝒆
- 𝑃𝑟𝑜𝑔𝑟𝑎𝑚𝑚𝑖𝑛𝑔
- 𝐶𝑎𝑚𝑒𝑟𝑎
- 𝑆𝑡𝑎𝑡𝑖𝑜𝑛𝑒𝑟𝑦
- 𝑃𝑠𝑦𝑐ℎ𝑜𝑙𝑜𝑔𝑦
✿=========================✿