Mastodonの構成の話。
ちいさなサーバは、VPSを一つ借りて、必要なプロセスを一つずつ起動して実行しています。
nginx、puma、sidekiq、node、postgresql、redisってとこかな。
nginxが外からのAPIアクセスや連合のリクエストを受け付けて、背後で実行しているMastodonのアプリケーションサーバであるpuma(mastodon-web)に処理を依頼します。
pumaは受け付けた内容を、その場で応答するものと、バックグラウンド処理にまわすものにわけます。
バックグラウンド処理は、小さなジョブに分割し、種類毎に順番待ちの列に突っ込んで、sidekiqプロセス(mastodon-sidekiq)が処理を行います。
pumaやsidekiqは、ユーザーにリアルタイムに知らせるべき内容をredisにpublish(発行)しておきます。
それをnode(mastodon-streaming)のプロセスが、現在subscription(購読)しているユーザーに対し、サーバ側からクライアント側に次々と流していきます。タイムラインがリアルタイム更新されていく仕組みです。
#fedibird #fedibird_info 大丈夫そうかな。
あらためて、昨晩からさきほどまで、サーバがつながりにくい・ほぼつながらない状態が続いていたようで、ご迷惑お掛けしました。
misskey.backspace.fm(ばすきー)のアカウント削除がたくさん流れていたのかな。これを大量に同時処理したことで、データベースが過負荷になっていました。
現在も削除処理は走っていますが、同時実行するプロセスを減らすなど構成をアレンジして、動作に差し支えないレベルに負荷を抑えられたかなと思います。
まだ様子見していますが、まあこれでなんとかなるでしょう。たぶん!
だいぶマシになった?
誰かkids鯖の話してる?
ストリートファイターを快適にプレイしたい!ということで6ボタンゲームパッドを買いました🎮
めっちゃ快適。がんばって練習するぞ~💪
Switch用セガサターンコントローラー風「8Bitdo M30 Bluetoothゲーミングコントローラー6ボタンゲームパッド」を買ってみた
https://jdash.info/archives/8Bitdo_M30_Bluetooth_6_Buttons_GamePad.html?utm_source=mastodon&utm_medium=social&utm_campaign=fedica-%e6%9c%80%e5%88%9d%e3%81%ae%e3%83%91%e3%82%a4%e3%83%97%e3%83%a9%e3%82%a4%e3%83%b3
#Switch
いま、それぞれのユーザー、サーバー管理者のレベルで、低コストで即効性のあるスパムへの対処はドメインブロックすることなんだけど、
送信に新しいサーバが使われるたびに登録しなければならず、いちいち騒ぎになり、皆が疲弊するっていうのと、
初手ドメインブロックが『しかたがない』あたりまえの対応になっていくという、
二つのしんどさがありますね。
ドメインブロックは仕方が無い、という認識を刷り込まれるのが一番の害だなと思います。
目をつけられないように、公開投稿をしなくなる、なんてのもありますね。
さてどうするか。
ユーザーレベルでは、通知のフィルタリングで対応する方法があります。無視したり、保留しておくことができます。
最新のMastodon(v4.3.1)の通知設定はこれ(添付画像)です。カラムの上部右端の歯車から。
あとフィルターの設定。フィルターしても差し支えなさそうな単語を含む投稿は完全無視を決め込みましょう。
サーバーレベルでは、まぁコード追加するしかないかなぁ。リバースプロキシで対処してる例もありますね。
Fedibird系では、本文とQRコード内容のワードフィルター、添付画像のBlurHashフィルターを適用しています。(v4.3.1用もあり、いくつかのサーバに適用しています)
主に、Fediverseへの関心に基づいた投稿を行うアカウントです。DTP・印刷に関する話をしたり、同人の話をしたり、カレーをブーストしたりします。
Mastodonのcollaborator(開発者の一員)です。また、独自機能を盛り込んだFedibirdを管理・開発しています!
Mastodonサーバ『fedibird.com』の管理者アカウントでもあります。ご連絡は当アカウントへ、サーバインフォメーションについては https://fedibird.com/about/more と @info を参照してください。