新しいものを表示

TL;DR 気にしなくてOK
--

では、Let's Encryptという無料で発行できるサーバ証明書を利用しています。

このLet's Encryptで発行した証明書が、Android 7.1以前(7.1を含み、7.1.1は含まない)に含まれていないルート証明書を使うように変更になるということで、接続できなくなるのではないか? と話題になっています。

ただし、SubwayTooterやTusky、YuitoのようにクライアントアプリにTLSスタックを含んでいる場合は問題がなく接続でき、Chromeも同様に問題ないということなので、Fedibirdでは特に特別な対応を行わず、引き続きLet's Encryptの証明書使用していく方針です。

fedibird.com/@noellabo/1046356
の続き。

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鯖は同居で、他のサーバも余剰リソースを他のサービスと共用して運用しています。

スレッドを表示

の構成をざっくり。

まず、ユーザー側(インターネット側)からは、本体のHAProxy鯖とメディアのCloudflareがあります。たまにHAProxyの前にCloudflareを挟んでテストすることもありますが、普段は本体には通していません。

メディアの方は、Cloudflareの内側に、Lightsailにnginxを置いて、S3へのアクセスをキャッシュしています。キャッシュが有利なことはもとより、Lightsailの価格に転送量が含まれているため、S3に直接アクセスさせるより費用の節約になるためです。

本体側のHAProxyはロードバランサーです。2台のVPSのnginxへアクセスを振り分けています。片方がダウンしている時は、そちらにはアクセスが振り分けられないようにして、ダウンタイムを少なくすることに貢献しています。

各VPSの構成は図の通りで、sidekiqは3系統に、外部鯖のredisへのアクセスはmainとcacheに分け、PostgreSQLへのアクセスはpgbouncerを経由。メディアはS3に直接保存します。

ではリストの活用シーンが多いので、 :toot_app: Toot!のiPad版の左側のメニューにリストが展開されるのはもの凄く便利なのであります。

まぁ、Fedibird特有の機能(引用とか)は使えないんだけど、閲覧には凄くいい。

通知サーバがなにやら強くて、だいたい漏れなく通知してきてくれるので、そこも頼りになるところです。

AppleWatch使ってると、Watch上で通知された中身も見えるよ!

ちんねこ先生がスクショ付きで紹介してくれているから、みておくといいよ!
QT: chin-co-ne.co/@worstman/104625

最低人間  
ブログを更新しました。 マストドンの iOS クライアント「toot!」が iPad 用クライアントとしていい感じ http://worstman.net/313

@info (Fedibirdインフォメーションのアカウント)ですが、Fedibirdに登録した際に自動フォローするアカウントで、利用方法をご案内するための情報を流しています。

Fedibirdは機能追加が多いので、そのあたりを含めた利用案内となっており、比較的重要な内容が多いです。サーバ外からフォローされている方も結構います。

とはいえ、Webでログインするとメニューから辿れるようになっていて、必要な時に参照できるようになっていますので、フォローをはずしてしまってOKです。

通常 タグが必ずついていますので、ハッシュタグタイムラインから辿ることもできます。

また、日々の細かな情報は、管理者 @noellabo のアカウントから投稿しています。 @info で投稿した内容も紹介するので、管理者をフォローして普段から目を通しているのであれば、 @info をフォローしていなくても大丈夫です。

まぁ、管理者をフォローしているとウルサいですし、常時カレーが流れてくるという問題がありますので、情報源は各自、適当に加減してくださいませ。

の地味だけど重要な機能をひとつ。

ホームタイムラインから、フォロイーをはずすことができます。

ホームにフォローした人の投稿が流れてきません。

代わりに、リストで受け取るのが基本的な使い方。

ホームを主要な情報に絞り込みつつ、いろんな人、いろんな情報をフォローしていくのに便利です。

リストを使う以外の応用としては、

・アカウント購読で、公開投稿だけを流す(未収載・フォロワー限定投稿はあえてみない)

・ハッシュタグやキーワードで、その人の見たい投稿だけに絞り込む

・アカウントタイムラインでだけ投稿をみる(リアルタイムではチェックしない)

・フォロワーであることは維持し、ミュートのように使うが、ブーストされてきたものはみたい(ミュートするとみえないので)

などの使い方ができます。

@meyhem さんが、Fedibirdからふるどんに参加するという戦略をとっているよね。この組み合わせは強い。どっちもタグ検索高速化済みサーバだし。

1:30頃〜2:00頃までのあいだ、Fedibirdのデータベースサーバ障害により接続できなくなっておりました。また、その後20分程度、パフォーマンスの低下など利用に支障のある状態となっていました。ご不便をおかけして申し訳ございません。

本件は、データベースのメイン側(メインとレプリカの2台構成です)のVPSの障害で、VPSが応答なし(VPS業者/Vultrのコントロールパネルからも操作できないエラー状態)となったことによるものです。現在は復旧したようですが、寝かせてあります。

対応として、レプリカ側のデータベースをメインに昇格し、各種接続を切り替えて復旧を行いました。

一台目のwebサーバが動かないけど、バックエンドは大丈夫そうだな……。 :yoshi: :genbaneko:

実は省略表示するところのコードちゃんと読んだことがないので、あとでみてみる。地味にみんな困ってる気がする。

の障害の件ですが、DBのレプリカ側が落ちて、メイン側でWALがたまってディスクフルで落ちるパターンでした。良くない。

レプリカなんで死んでしまうん……。(調査中)

落ちていたようですみません。5:40ぐらいまでは生きてた? 復旧落ち着いたら調査します。

は、DNSにCloudflareを利用しています。DNSに障害が発生した場合は影響を受けます。

コンテンツはCloudflareを経由していないので、その部分に障害があっても影響を受けません。

ただし、リモートサーバから受け取る投稿のメディアは、そのサーバがCloudflareを利用しているかもしれません(たくさん利用されていると思います)。その場合、メディアの取得に失敗したりしますので、そういう意味では無関係でいられません。

ウチはあと3週間経たないと1周年にならないんだよなー。

ハッシュタグタイムラインのストリーミングが無効になっていたリグレッションを修正しました。

存在しない、ローカル限定の方のWebSocketに接続しに行っていました。マージ(rebase)のミスですね……。

@circledev の投稿画面のサークル指定の仕方が少し変わりました。

公開範囲でCircleを選択してから、下に出てきたドロップダウンでサークルを選択します。

微妙に面倒くさいのですが、サークルを多数登録した場合に対応するための変更です。

組み込みのselectを使うようにしたので、スマートフォン等でも支障なく選べるかと思います。(格好良くはないですが)

引用のアカウント名をクリックした際に、一般アカウントでグループタイムラインを開いてしまうバグを修正

引用にオーディオが含まれている際、プレビュー画像ほか、いくつかの情報が欠落して表示がおかしくなっていた問題を修正

サークルを指定して投稿した際に、ダイレクトメッセージのタイムラインが開いてしまう問題を修正

投稿画面でグループアカウント名を補完する入力方法( @@ に続けて入力)した際、フォロー済みグループ以外の候補が出てきてしまうリグレッションを修正

なお、現在mastodon v3.2.0rc2がベースになっています。

古いものを表示
Fedibird

様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。