Page 1 of 14 1 2 3 11 ... LastLast
Results 1 to 10 of 137
  1. #1
    Player
    btk's Avatar
    Join Date
    Sep 2013
    Posts
    465
    Character
    Atreyu Chocochip
    World
    Ramuh
    Main Class
    Marauder Lv 70

    野生のエンジニアたちが、サーバ跨ぎのPT募集実装に向けてアレコレ議論するスレッド

    phpcon2015に参加しそこねたエンジニアのみなさん、こんにちは
    面白そうだったので立てました。ぜひやりましょう。

    ★大事なこと★
    このスレッドは 吉田P/Dが実装に対して(技術的に)難色を示しているサーバ跨ぎのPT募集について、こーすればできんじゃねーか?を議論・提案するスレッドです。

    そもそも必要ない や、 中身しらないんだからできるわけねーじゃん といった投稿はスレッドの内容にそぐわないものになりますので是非お控えくださるようお願いいたします。
    あくまで野生のエンジニアたちの推測・観察に基づく現状構成に対する提案となります。そのことをご理解の上ご参加ください。

    また、FFXIVフォーラムでは、1日の書き込み回数制限と、1回のレスに文字数制限があります。ぜひ投稿される前にいま一度ご自身の投稿内容を再度推敲しなおされることを強く推奨します。

    ・関連スレッド
    鯖統合かPT募集を別鯖からでも入れるようにしてほしい


    ★議論の上で大事なこと★
    まず、要件定義をはっきりさせましょう。ここの認識があってなければ議論になりません。
    上記関連スレッドのnoton-notonさんの投稿からは、以下のような内容だと自分は解釈しました。

    ・DC内サーバ跨ぎで、現在のPT募集と同様の募集が行える。
    ・PT募集登録後、3分ほど待たされてからDC内PT募集へと反映される
    ・サーバ跨ぎのPT募集にて参加されたメンバーは、コンテンツ突入までチャット不可

    した二つはそれどーなん、て感じなので僕も意見出したいです。
    まず、どういう機能が現実的に必要とされるか、の話からはじめましょう

    ※なおUIについては考慮しません。HQひろしがいいカンジにやってくれるでしょう。

    ★もっと大事なこと★
    技術的なコトはわかんないけどこういう機能欲しいです!!っていう意見ももちろん大歓迎です!
    結局のところみんなが欲しい機能はなんだろう?を突き詰めていきましょう。運営的にはそこが一番知りたい情報のような気もします。技術の話題はオマケでw
    (34)
    Last edited by btk; 10-10-2015 at 01:17 PM. Reason: #20151010 もっと大事なコト追加

  2. #2
    Player
    noton-noton's Avatar
    Join Date
    Dec 2014
    Posts
    905
    Character
    Shinon Lu
    World
    Titan
    Main Class
    Goldsmith Lv 70
    ではさっそく

    募集部分から




    少しアプローチを変えて、募集画面からプレビューしてみたいと思います。
    言葉より画像のほうが伝わりやすいと思いますので。

    目標設定には「エンドコンテンツ」「エンド極蛮神」を追加します。
    平均アイテムレベルには、マテリア装着アイテムの再計算チャックを入れます。

    新たに条件を追加して、練習(初期) 練習(中盤) 練習(後半) クリア目的 クリア済み 周回目的 を追加します
    2番目の項目はエンドコンテンツのみの機能で 週制限のクリア状況を設定します 未クリアのみ クリア済み参加可能
    ・クリア済み参加可能の場合 1 2 3 4 それ以上を設定します

    後は最後に、外部サーバーから募集を入れるかをチェック。 この機能が使える状況が表示がでます。

    鯖内での募集を優先するため、実際に外部サーバーメンバーを組み入れる動作はしばらくしてから動作する。

    ご意見よろしくお願いします
    (15)

  3. #3
    Player
    btk's Avatar
    Join Date
    Sep 2013
    Posts
    465
    Character
    Atreyu Chocochip
    World
    Ramuh
    Main Class
    Marauder Lv 70
    noton-notonさんがわかりやすい画像だしてくれました!参考にしましょう。

    ★要件定義 (と呼ぶにはあまりにもお粗末なメモ書き)

    した二つはそれどーなん、なので僕なりにこういうのがほしい、というのを出してみたいと思います。

    ・DC内サーバ跨ぎで、現在のPT募集と同様の募集が行える
    ・DC内PT募集時は、PT募集欄にて「DC内で募集を行う」みたいなチェックボックスにピンつけるとDC内募集になる。入れない場合はサーバ内募集(これまで通り)
    -> noton-notonさんの、外部サーバを利用する がまさにコレですね
    ・PT加入前は、サーバ跨ぎのTELLなどはできないので例えば新式でレベル不足なのですが~、みたいな相談は不可
    -> マテリア込みのIL再計算があれば問題なさそう?
    ・PT加入後は、サーバ跨ぎの状態でもチャット可(これぶっちゃけできると思う、ゲームプロセスとチャットプロセス別物でしょこのゲーム)
    ・通常のサーバ内PT募集同様、募集を出せば即DC内PT募集に反映される。訂正・取り下げも同様。
    -> 鯖内での募集優先、というのは必要でしょうか?該当チェックボックスにチェックを入れてる時点で、募集主の希望はサーバ内募集ではないと思います。

    ほかにも意見あれば随時募集です。あくまで僕がぱっと思いついたものです。

    ============================================================
    #27にて要件定義を更新しました
    (11)
    Last edited by btk; 10-04-2015 at 03:48 PM. Reason: 更新

  4. #4
    Player
    btk's Avatar
    Join Date
    Sep 2013
    Posts
    465
    Character
    Atreyu Chocochip
    World
    Ramuh
    Main Class
    Marauder Lv 70
    さて、上記内容を満たす機能を実装するにあたって考慮しなければ内容は(前のスレッドどさんざん議論がとっちらかってますが)、以下のような考慮が必要になると思います。

    ・上記内容を保持するサーバ(もしくはプロセス)の処理能力
    - 書き込み回数/参照回数のプロセスとしてのスループット
    - 実際に想定される書き込み回数/参照回数の想定値 (吉田P/Dがきついんだよ~~っていってるのはここ)
      -> 1サーバピークタイムに3000人程度が接続しているとして、1つのDCにだいたい10サーバ、つまり同時に3万人程度の参照(APIコールとして30,000r/s)が入ることを考慮する必要があると思います。おそらくここが一番のボトルネックなのでしょう。

    ・通信帯域の話
    noton-notonさんの書き込みで個人的に一番気になったのは、Layer4以下の考慮が一切なかった点です。
    構造体への配列検索でさばけるだろ!ってのはネットワークのキャパシティプランニングがまったく考慮されてないので、いまいまのサーバtoサーバでそれできんのかなぁ。と。


    上記内容を実装するのであれば、通常LAMP構成でDB(MySQLか、今ならMariaDBでしょうか、もしくはオラクルの商用版とか使ってるんですかね?)を使用すると思うのですが、構造体への配列検索てのはCやC++での実装を想定してるのでしょうか?まぁここの開発ならやりかねんような気もしますが。。
    (11)
    Last edited by btk; 10-03-2015 at 03:16 PM. Reason: APIコールとして、の文字列追加

  5. #5
    Player
    Heatmind's Avatar
    Join Date
    Sep 2013
    Posts
    847
    Character
    Lucy Pendolton
    World
    Atomos
    Main Class
    Gladiator Lv 70
    引用されている投稿でもそうなのですが、内容が専門的用語などが多くて読む人にとっては複雑になっていると思います。
    要望で良いのに、データがどうとか容量がどうとか。

    フォーラムだから、読む人皆が分かるような投稿にした方が良かったのではないでしょうか?ルールにも「専門的用語はあまり使わないように」とありますし。
    (12)

  6. #6
    Player
    noton-noton's Avatar
    Join Date
    Dec 2014
    Posts
    905
    Character
    Shinon Lu
    World
    Titan
    Main Class
    Goldsmith Lv 70
    btkさんスレたてありがとうございます。

    私が予想するサーバー構成を書きます。

    ロードバランサーから複数台のAPサーバーへ、負荷が軽いサーバーと接続
    APサーバーは負荷分散の為、相当数が用意されていると思います。
    APサーバー同士の接続はなし

    各ワールド後とにセグメント(これを物理的に分けているか仮想で分けているかはわかりませんが)があり、ワールドを構成。
    APサーバーとワールドサーバはSANでつながれていると予想しています。(データ共有空間)
    募集関係はAPサーバーから共通で参照できるサーバーに、オンメモリで配列・・・ でも、SQLサーバーを使ってるかもしれない(マーケットと同じサーバー)


    コンテンツ処理用サーバー サーバーグループ全体から接続されている
    CF処理用サーバー サーバーグループ全体から接続されている

    >Layer4以下の考慮が一切なかった点です。
    >構造体への配列検索でさばけるだろ!ってのはネットワークのキャパシティプランニングがまったく考慮されてない

    配列の検索を行うのは、配列が置いてあるサーバー上のプログラムで動かすと思いますよ。
    なので、マッチング処理そのもので通信の下層部分を気にする必要は無いかな?と

    募集が実行されると、募集データーがサーバーにスタックされる。APサーバー>募集サーバー(これは今と同じ)

    マッチング開始までそのまま、募集の既存の動作のまま

    マッチング開始ー>募集サーバー上で、外部ユーザーを受け入れフラグがあるものを、複製をマッチングサーバーへコピー&スタック
    マッチング結果と募集サーバー上のデーターのチェック 募集に変更がなければ、シャキーン処理開始


    バッチ処理のマッチング機能を動かすときに、募集サーバーとCFサーバーのデーター移動ぐらいしか、新規に発生しないと思います。

    現行募集サーバーとCF用のデーター構造が違う事も予想されますが、コピーするときに再構築すればいいかなと。
    (6)

  7. #7
    Player
    noton-noton's Avatar
    Join Date
    Dec 2014
    Posts
    905
    Character
    Shinon Lu
    World
    Titan
    Main Class
    Goldsmith Lv 70
    募集データーは、ユーザーとは非同期になっているので、ユーザーの参照を気にする必要はないと思います。

    株価チャートみたいなリアルタイム動作なら、大変だけどねb
    (4)

  8. #8
    Player
    kig's Avatar
    Join Date
    Apr 2015
    Posts
    224
    Character
    Rei Kigata
    World
    Ultima
    Main Class
    Gladiator Lv 70
    Quote Originally Posted by Heatmind View Post
    引用されている投稿でもそうなのですが、内容が専門的用語などが多くて読む人にとっては複雑になっていると思います。
    要望で良いのに、データがどうとか容量がどうとか。

    フォーラムだから、読む人皆が分かるような投稿にした方が良かったのではないでしょうか?ルールにも「専門的用語はあまり使わないように」とありますし。
    引用先でトピずれ、複雑な話になってしまっているので、理解できるもの同士で隔離されて議論しましょうって事だからいいのではないですかね!

    ルールにも、読み易く分かりやすい文章をとは書いてありますが、専門用語を使うなとは書いてありませんし。
    (65)

  9. #9
    Player
    noton-noton's Avatar
    Join Date
    Dec 2014
    Posts
    905
    Character
    Shinon Lu
    World
    Titan
    Main Class
    Goldsmith Lv 70
    レンジについて

    少なくとも、CFで一緒になれるサーバーとは、既にネットワークが物理的に確保されていると思われますので、まずはそこの範囲で考えましょう

    「案件定義」
    サーバー間募集は同グループサーバー内のみとする

    外部のユーザーとのマッチングを行う場合は、募集で明確に募集主が選択することで開始される

    募集内容に幾つか参加条件が追加される(少し上のUI参照)
    (2)

  10. #10
    Player
    Heatmind's Avatar
    Join Date
    Sep 2013
    Posts
    847
    Character
    Lucy Pendolton
    World
    Atomos
    Main Class
    Gladiator Lv 70
    Quote Originally Posted by kig View Post
    引用先でトピずれ、複雑な話になってしまっているので、理解できるもの同士で隔離されて議論しましょうって事だからいいのではないですかね!
    それなら他で議論して欲しいですね。理解出来るもの同士が投稿し続ければ、他の話題が埋もれてしまう事もありますし。
    (9)

Page 1 of 14 1 2 3 11 ... LastLast

Tags for this Thread