@noellabo@fedibird.com
@noellabo@fedibird.com avatar

noellabo

@noellabo@fedibird.com

主に、Fediverseへの関心に基づいた投稿を行うアカウントです。DTP・印刷に関する話をしたり、同人の話をしたり、カレーをブーストしたりします。

Mastodonのcollaborator(開発者の一員)です。また、独自機能を盛り込んだFedibirdを管理・開発しています!

Mastodonサーバ『fedibird.com』の管理者アカウントでもあります。ご連絡は当アカウントへ、サーバインフォメーションについては https://fedibird.com/about/more@info を参照してください。

#webdev #fedi22 searchable

This profile is from a federated server and may be incomplete. Browse more on the original instance.

noellabo, to random Japanese
@noellabo@fedibird.com avatar

ポテチとか、湖池屋ののり塩とかもちろん定番で好きなんですが、ほかにもこの辺が……

■ オーザック

食感が好き(ただし歯茎に刺さるぐらい鋭利だ)。メッチャうまい。

■ ハートチップル

さっそくポテチじゃないね! このにんにく臭さ、最高です。うまい! うまい!

■ ピザポテト

すごく……ピザです……
美味しいんだけど、もの凄く罪深さを感じる逸品です。みんな好きだよね? ピザでポテトだよ!?

noellabo, to random Japanese
@noellabo@fedibird.com avatar

Mastodon鯖缶向け

・ディスク空き容量は大丈夫?
・証明書の期限は大丈夫?
・バックアップ……ちゃんと動いてる?
・サーバからのメールちゃんと届く?
・schedulerキュー動いてる?
・ストリーミング死んでない?
・WebUI生きてる?
・/api/v1/instance 動いてる?
・ca-certificates更新してある?
・サーバ代払い忘れてない?
・ドメイン代払い忘れてない?
・クレカの期限大丈夫?
・なぜかリアクションない人いない?
・最近みかけなくなったサーバない?
・なんか最近サーバの反応遅くない?
・新規登録の承認忘れてない?
・スパム生えてない?
・通報対応忘れてない?
・箇条書きのサーバーのルール書いた?
・OSのパッケージ更新してる?
・Mastodonの更新してる?

noellabo, to random Japanese
@noellabo@fedibird.com avatar

Youは何しにFediverseへ?

noellabo, to random Japanese
@noellabo@fedibird.com avatar

主要なサーバの死因(再掲)

・ディスクフル
・サーバ代 未払い
・証明書期限切れ
・アプデ失敗
・コンセント抜けた

noellabo, to random Japanese
@noellabo@fedibird.com avatar

Fediverse住人のアドベントカレンダー、エントリー受付中です。

--
このアドベントカレンダーは、12月1日からクリスマス(25日)までの毎日に、みんなで自分のブログなどに読み物を用意し、みんなでそれを読んで楽しむイベントです。

カレンダーに、あらかじめ「わたしこの日に書くよ!」って登録します。

当日になったら記事のURLが公開されて、読めるようになるという仕組みです。

元になっているキリスト教のアドベントカレンダーは、カレンダーの日付のところに扉がついていて、開けるとプレゼントやお菓子の絵が出てきます。

これを元に、技術系の人達が、お菓子の代わりに思い思いのメッセージを書いたデジタルのアドベントカレンダーを始めて、みんなに広がってきた流れです。

第一会場(すでに満席)
https://adventar.org/calendars/5019

第二会場(新規エントリーはこちらへ)
https://adventar.org/calendars/5049

気合い入った記事を書く人もいますけど、気軽に書ける、個人的なゆるい内容でOKです!

みんな参加してね!

image/jpeg

noellabo, to random Japanese
@noellabo@fedibird.com avatar

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がメディアの変換に使われています。

noellabo,
@noellabo@fedibird.com avatar

Fedibirdの現在の構成図です。

基本的な構成と比較していきます。

マシンの台数を増やしています。同じ構成のサーバを2台置いて、負荷の分散・処理能力の増強、片方が落ちてもサービスが停止しないように構成しています。

データベース(PostgreSQLとRedis)は、2台が同じものを参照する必要があるので、別のマシンに分けて実行しています。

Storageは、ローカルファイルシステムだと両方のマシンから読み書きできないので、外部のオブジェクトストレージ(Amazon S3)に変更しています。

Sidekiqは、キュー毎にプロセスを分離しています。

PostgreSQLへ同時接続するプロセスがどんどん増えていくので、pgbouncerを経由して接続することで、PostgreSQL側の接続数を一定以内に制限し、接続を再利用することで効率化しています。

2台の手前にHAProxyを置いて、外部からは一つのサーバに見えるようにして、2台のサーバに接続を分散させます。

全文検索用にElasticsearchを追加しています。

あとは、二重化したりバックアップする機構です。

noellabo, to random Japanese
@noellabo@fedibird.com avatar

あなたにも :chelsea: チェルシーあげたい

noellabo, to random Japanese
@noellabo@fedibird.com avatar

は1年前には構想していて、実際ドメインの取得は1年前だったりする。2018-09-22だから、あとちょっとだね。

テーマサーバのDTP-Mstdn.jpをやっていて、ハッシュタグリレーという外部連携のサービスも提供していたけど、いつかはMastodon本体に直接開発の手を入れて、自分で汎用サーバを運営しないと、やりたいことはできないな、という思いがあった。

まだ力不足で、もっと勉強しないとやりたいことは出来ないのだけど、構想だけしていても進歩がないので、実際にやってみることにしたよ、という感じです。

noellabo, to fediverse Japanese
@noellabo@fedibird.com avatar

Fediverseの特徴で、大事なことだと思うんだけど、

必ずオリジン(元の投稿)を参照することができて、投稿者も明確になっていて、ActivityPubを介して当人同士が直接リアクションできるというのがある。

キャッシュとしての複製は多数作られるし、削除が届かないこともあるけど、あくまでキャッシュとしての役割に徹している。

署名により、偽造が難しいようにも作られている。

Fediverseの外のコンテンツはActivityPubに対応していないから、この特徴を維持できない。

無理にFediverseに持ち込むと、持ち込んだトコロがオリジンになってしまう問題が発生し、オリジンとしての正当性がないから、内容が保証されないし、複数存在してしまう。そしてリアクションが届かない。

持ち込んだトコロが、得るべきでない情報や発生する利益を握ってしまう恐れがある。つまり、中央集権の問題が発生するのではないか。

Twitterについて言えば、なんらかの方法で、公式に、直接Fediverseのノードになってもらうしか道はないように思う。

  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • thenastyranch
  • rosin
  • GTA5RPClips
  • osvaldo12
  • love
  • Youngstown
  • slotface
  • khanakhh
  • everett
  • kavyap
  • mdbf
  • DreamBathrooms
  • ngwrru68w68
  • provamag3
  • magazineikmin
  • InstantRegret
  • normalnudes
  • tacticalgear
  • cubers
  • ethstaker
  • modclub
  • cisconetworking
  • Durango
  • anitta
  • Leos
  • tester
  • JUstTest
  • All magazines