senooken JP Social
  • FAQ
  • Login
senooken JP Socialはsenookenの専用分散SNSです。
  • Public

    • Public
    • Network
    • Groups
    • Popular
    • People

Conversation

Notices

  1. mimikun (mimikun@mstdn.mimikun.jp@mstdn.mimikun.jp)'s status on Tuesday, 04-Sep-2018 20:03:22 JST mimikun mimikun
    • せのお (妹尾 賢)

    Hubzilla, Mastodonと同じように username@domainname でフォローできるような

    In conversation Tuesday, 04-Sep-2018 20:03:22 JST from mstdn.mimikun.jp permalink
    • :portalorangeparrot: :harukin: and Keᷟiͣzᷤoͭuͦ@6ͩ4ͦ0ᷠ0 repeated this.
    • Keᷟiͣzᷤoͭuͦ@6ͩ4ͦ0ᷠ0 (keizou@mstdn.guru)'s status on Tuesday, 04-Sep-2018 20:17:17 JST Keᷟiͣzᷤoͭuͦ@6ͩ4ͦ0ᷠ0 Keᷟiͣzᷤoͭuͦ@6ͩ4ͦ0ᷠ0
      in reply to

      @mimikun Mastodonと同じようにというか吐いてるのActivityPubなので同じですね

      Hubzillaの本来のユーザ情報はIdentityIDです

      その辺ここに書きました
      https://plus.haruk.in/channel/keizou/?f=&mid=f4c7a48a2981c0e25b1567b2489cea44c8bab348e27bbb08b3dc4b91d2631432@plus.haruk.in

      In conversation Tuesday, 04-Sep-2018 20:17:17 JST permalink

      Attachments

      1. No result found on File_thumbnail lookup.
        Keizou Wakabayashi wrote the following post Sat, 25 Aug 2018 01:54:44 +0900
        ユーザとしてHubzillaの障害に備える
        今回、Harukin+が保守作業に伴うシステム障害によりダウンしました。

        TwitterやFacebookなど一般的なSNSであればSNSサーバがダウンすると復帰するまで当然ながら利用はできません。

        そして、日本ではMastodonをメジャーとする分散型SNSでも、所属するMastodonサーバがダウンした場合は、別のURLドメインを持つサーバへ複アカウントを作成し、分散ネットワークシステムとしては全く別のユーザとしてログインすることにより待避することが可能です。

        しかしHubzillaには一般的なSNSの"アカウント"とは違うNomadic identity(ノマディックアイデンティティ/遊牧民のアイデンティティ)という概念を持ち、もし現在ログインしているHubサーバがダウンしても、別のHubサーバへユーザ情報を障害の事前にクローンしておいて、障害発生時に別のHubサーバへログインすることによって分散ネットワーク上で同一ユーザとして振る舞えるという機能があります。

        今回はHubzillaの先進的な分散システムについてご説明します。

        Hubzillaでは複数のHubサーバが接続されることによって分散ネットワークを形成します。これをGrid(Gridネットワーク)と呼称します。



        例えば、ユーザboyがalpha.hub.netにアカウントを作り、alpha.hub.net/channel/boyというチャンネルを設けます。

        実はHubzillaではチャンネルを設けた際に内部でIdentityIDという固有のハッシュ値が与えられます。



        更にboyはユーザ情報を分散させるためbravo.hub.orgでアカウントを作りbravo.hub.org/channel/boyというチャンネルを設けますが、その際に事前に設けていたalpha.hub.net/channel/boyのチャンネル情報をクローンするように指定しました。



        直ぐ上の図のチャンネルURLとIdentityIDへ注目してください。チャンネルURLが別であり、IdentityIDが同一なのが理解できるでしょうか?

        Hubzillaの分散ネットワークGridで共有される全ての操作はこのIdentityIDへ指向して行われます。

        例えば、リプライやメンションなどはalpha.hub.net/channel/boyへ指向して送受信されるわけてなく、IdentityID:SzhlhNa4lDqRへ指向して送受信されるということです。

        図解してみましょう。

        charlie.hub.socialへログインしているユーザgirlが、いつもalpha.hub.netへログインしているboyへ向けて何らかのメッセージを送ったとします。

        しかしながら、boyがいつもログインしメインとするalpha.hub.netは何らかの障害によりダウンしており、boyは一時的にbravo.hub.orgへ待避しました。

        このような状態だとalpha.hub.netにログインしていないboyには絶対にgirlのメッセージは届きません。

        これはTwitterやFacebookなどの一般的なのSNS、Mastodonを代表するActivityPub系分散型SNSでも同じです。



        しかし、Zotプロトコルで実装されるGridネットワークではalpha.hub.netへ指向するわけでなくIdentityIDへ指向するのでboyがbravo.hub.orgへログインしていてもメッセージが届きます。



        再三続けて申し訳ないですが、Hubzillaの書き込みやメンション、リプライ、シェアなどの操作はalpha.hub.netやbravo.hub.orgなどへ指向して行われるのではなくIdentityIDへ指向して行われます。

        つまり、boy(IdentityID:SzhlhNa4lDqR)が書き込んだという情報はGridネットワークへ接続されているalpha.hub.net/channel/boyとbravo.hub.org/channel/boyへ同期されます。何故ならこの2つのチャンネルのIdentityIDは同一だからです。

        もし、片方のHubサーバがダウンしていても活動しているHubサーバで書き込めばboy(IdentityID:SzhlhNa4lDqR)の投稿情報はGridネットワーク内で共有されます。

        また、girlも見ているのはalpha.hub.net/channel/boyやbravo.hub.org/channel/boyではなくIdentityID:SzhlhNa4lDqRなので、片方のHubサーバが落ちていても活動しているサーバからIdentityID:SzhlhNa4lDqRの情報を取得しboy(IdentityID:SzhlhNa4lDqR)の投稿を読むことができるというわけです。



        今回、Harukin+がダウンしている間にボクが書き込めたのは、チャンネルクローンしている別のHubサーバにて書き込んだ為です。

        長くなりましたが、つまりユーザとしてHibzillaの障害に備えるということは、現在メインで使っているHubサーバとは別のHubサーバへ事前にチャンネルクローンをしておくということになります。

        最後にちなみにですが、サーバがダウンしてもダウンしている間の情報はGridネットワーク内でキューされ、ダウンしたサーバが復帰した際に自動同期をはじめます。

        以上です。ありがとうございました。
      とねぢ @Minoh-don(Late Bloomer) repeated this.
    • mimikun (mimikun@mstdn.mimikun.jp@mstdn.mimikun.jp)'s status on Tuesday, 04-Sep-2018 20:35:09 JST mimikun mimikun
      in reply to
      • せのお (妹尾 賢)
      • Keᷟiͣzᷤoͭuͦ@6ͩ4ͦ0ᷠ0

      @keizou あーなるほどです…
      ありがとうございます

      In conversation Tuesday, 04-Sep-2018 20:35:09 JST permalink

Feeds

  • Activity Streams
  • RSS 2.0
  • Atom
  • Help
  • About
  • FAQ
  • TOS
  • Privacy
  • Source
  • Version
  • Contact

senooken JP Social is a social network, courtesy of senooken. It runs on GNU social, version 2.0.2-beta0, available under the GNU Affero General Public License.

Creative Commons Attribution 3.0 All senooken JP Social content and data are available under the Creative Commons Attribution 3.0 license.