TL;DR 気にしなくてOK
--
#fedibird では、Let's Encryptという無料で発行できるサーバ証明書を利用しています。
このLet's Encryptで発行した証明書が、Android 7.1以前(7.1を含み、7.1.1は含まない)に含まれていないルート証明書を使うように変更になるということで、接続できなくなるのではないか? と話題になっています。
ただし、SubwayTooterやTusky、YuitoのようにクライアントアプリにTLSスタックを含んでいる場合は問題がなく接続でき、Chromeも同様に問題ないということなので、Fedibirdでは特に特別な対応を行わず、引き続きLet's Encryptの証明書使用していく方針です。
https://fedibird.com/@noellabo/104635641745772363
の続き。 #fedibird
PostgreSQLはメインのサーバとレプリカのサーバに分け、同期レプリケーションを行っています。読み出しだけで良いアクセスはレプリカの方にアクセスすることで負荷分散を行う構成です。
Redisは、スタンバイに同期しており、ダウン時は手動で差し替えられるようにしてあります。
PostgreSQLは、一日一回フルバックアップをwasabiに、1分に一度WALをwasabiに保存しており、7日ほど保存してあります。概ね任意の時点に復元できます。
VPSは全部で6台。
メインの2台はVultr4CPU/16GBとさくらのVPS 6CPU/8GB、Lightsailは最小限の$5、HAProxyとDB鯖2台は2CPU/4GB。
DB鯖とRedis鯖は同居で、他のサーバも余剰リソースを他のサービスと共用して運用しています。
#fedibird の構成をざっくり。
まず、ユーザー側(インターネット側)からは、本体のHAProxy鯖とメディアのCloudflareがあります。たまにHAProxyの前にCloudflareを挟んでテストすることもありますが、普段は本体には通していません。
メディアの方は、Cloudflareの内側に、Lightsailにnginxを置いて、S3へのアクセスをキャッシュしています。キャッシュが有利なことはもとより、Lightsailの価格に転送量が含まれているため、S3に直接アクセスさせるより費用の節約になるためです。
本体側のHAProxyはロードバランサーです。2台のVPSのnginxへアクセスを振り分けています。片方がダウンしている時は、そちらにはアクセスが振り分けられないようにして、ダウンタイムを少なくすることに貢献しています。
各VPSの構成は図の通りで、sidekiqは3系統に、外部鯖のredisへのアクセスはmainとcacheに分け、PostgreSQLへのアクセスはpgbouncerを経由。メディアはS3に直接保存します。
#fedibird ではリストの活用シーンが多いので、 Toot!のiPad版の左側のメニューにリストが展開されるのはもの凄く便利なのであります。
まぁ、Fedibird特有の機能(引用とか)は使えないんだけど、閲覧には凄くいい。
通知サーバがなにやら強くて、だいたい漏れなく通知してきてくれるので、そこも頼りになるところです。
AppleWatch使ってると、Watch上で通知された中身も見えるよ!
ちんねこ先生がスクショ付きで紹介してくれているから、みておくといいよ!
QT: https://chin-co-ne.co/@worstman/104625776931158006
#fedibird @info (Fedibirdインフォメーションのアカウント)ですが、Fedibirdに登録した際に自動フォローするアカウントで、利用方法をご案内するための情報を流しています。
Fedibirdは機能追加が多いので、そのあたりを含めた利用案内となっており、比較的重要な内容が多いです。サーバ外からフォローされている方も結構います。
とはいえ、Webでログインするとメニューから辿れるようになっていて、必要な時に参照できるようになっていますので、フォローをはずしてしまってOKです。
通常 #fedibird タグが必ずついていますので、ハッシュタグタイムラインから辿ることもできます。
また、日々の細かな情報は、管理者 @noellabo のアカウントから投稿しています。 @info で投稿した内容も紹介するので、管理者をフォローして普段から目を通しているのであれば、 @info をフォローしていなくても大丈夫です。
まぁ、管理者をフォローしているとウルサいですし、常時カレーが流れてくるという問題がありますので、情報源は各自、適当に加減してくださいませ。
#fedibird の地味だけど重要な機能をひとつ。
ホームタイムラインから、フォロイーをはずすことができます。
ホームにフォローした人の投稿が流れてきません。
代わりに、リストで受け取るのが基本的な使い方。
ホームを主要な情報に絞り込みつつ、いろんな人、いろんな情報をフォローしていくのに便利です。
リストを使う以外の応用としては、
・アカウント購読で、公開投稿だけを流す(未収載・フォロワー限定投稿はあえてみない)
・ハッシュタグやキーワードで、その人の見たい投稿だけに絞り込む
・アカウントタイムラインでだけ投稿をみる(リアルタイムではチェックしない)
・フォロワーであることは維持し、ミュートのように使うが、ブーストされてきたものはみたい(ミュートするとみえないので)
などの使い方ができます。
#fedibird 1:30頃〜2:00頃までのあいだ、Fedibirdのデータベースサーバ障害により接続できなくなっておりました。また、その後20分程度、パフォーマンスの低下など利用に支障のある状態となっていました。ご不便をおかけして申し訳ございません。
本件は、データベースのメイン側(メインとレプリカの2台構成です)のVPSの障害で、VPSが応答なし(VPS業者/Vultrのコントロールパネルからも操作できないエラー状態)となったことによるものです。現在は復旧したようですが、寝かせてあります。
対応として、レプリカ側のデータベースをメインに昇格し、各種接続を切り替えて復旧を行いました。
#fedibird 一台目のwebサーバが動かないけど、バックエンドは大丈夫そうだな……。
#fedibird 動くようになったかな?
#fedibird 仮復旧
#fedibird 実は省略表示するところのコードちゃんと読んだことがないので、あとでみてみる。地味にみんな困ってる気がする。
#fedibird の障害の件ですが、DBのレプリカ側が落ちて、メイン側でWALがたまってディスクフルで落ちるパターンでした。良くない。
レプリカなんで死んでしまうん……。(調査中)
#fedibird 落ちていたようですみません。5:40ぐらいまでは生きてた? 復旧落ち着いたら調査します。
#fedibird は、DNSにCloudflareを利用しています。DNSに障害が発生した場合は影響を受けます。
コンテンツはCloudflareを経由していないので、その部分に障害があっても影響を受けません。
ただし、リモートサーバから受け取る投稿のメディアは、そのサーバがCloudflareを利用しているかもしれません(たくさん利用されていると思います)。その場合、メディアの取得に失敗したりしますので、そういう意味では無関係でいられません。
ウチはあと3週間経たないと1周年にならないんだよなー。 #fedibird
Mastodon v3.2.0、タグリリースされましたね。
https://github.com/tootsuite/mastodon/releases/tag/v3.2.0
#fedibird は更新完了です。
#fedibird ハッシュタグタイムラインのストリーミングが無効になっていたリグレッションを修正しました。
存在しない、ローカル限定の方のWebSocketに接続しに行っていました。マージ(rebase)のミスですね……。
@circledev #fedibird の投稿画面のサークル指定の仕方が少し変わりました。
公開範囲でCircleを選択してから、下に出てきたドロップダウンでサークルを選択します。
微妙に面倒くさいのですが、サークルを多数登録した場合に対応するための変更です。
組み込みのselectを使うようにしたので、スマートフォン等でも支障なく選べるかと思います。(格好良くはないですが)
#fedibird 引用のアカウント名をクリックした際に、一般アカウントでグループタイムラインを開いてしまうバグを修正
引用にオーディオが含まれている際、プレビュー画像ほか、いくつかの情報が欠落して表示がおかしくなっていた問題を修正
サークルを指定して投稿した際に、ダイレクトメッセージのタイムラインが開いてしまう問題を修正
投稿画面でグループアカウント名を補完する入力方法( @@ に続けて入力)した際、フォロー済みグループ以外の候補が出てきてしまうリグレッションを修正
なお、現在mastodon v3.2.0rc2がベースになっています。
主に、Fediverseへの関心に基づいた投稿を行うアカウントです。DTP・印刷に関する話をしたり、同人の話をしたり、カレーをブーストしたりします。
Mastodonのcollaborator(開発者の一員)です。また、独自機能を盛り込んだFedibirdを管理・開発しています!
Mastodonサーバ『fedibird.com』の管理者アカウントでもあります。ご連絡は当アカウントへ、サーバインフォメーションについては https://fedibird.com/about/more と @info を参照してください。