X



トップページ運用情報
498コメント239KB
【雪だるま】bbsd⇔各cgi間のI/F仕様について考え・詰めていくスレッド
■ このスレッドは過去ログ倉庫に格納されています
0001root▲ ★
垢版 |
NGNG
雪だるま作戦において開発をすすめているbbsdでは、

                   +- [ フロントエンドサーバlive22x1 ] -- ユーザは
[ バックエンドサーバlive22 ] -+- [ フロントエンドサーバlive22x2 ] -- live22xという代表名で
 制御プログラムbbsd      +- [ フロントエンドサーバlive22x3 ] -- これらにアクセス
  |     |     |        dat直読みや、
dat subject.txt subback.html   bbs.cgiやread.cgiやofflaw.cgi、
書きこみログ(芋掘り)ファイルなど  (こちらは基本的に書き込み操作なし)
(書き込み操作はこちらで)

# 復帰/削除cgiなどについては、さてどっちかな => 今後の課題

という形で「ユーザの相手」と「各種ファイル処理」を複数のサーバに分業することにより、
さらなるパフォーマンスの向上を目論んでいます。

つまりこの場合、dat/subject.txt/subback.htmlは
バックエンドサーバで動作するbbsdというプログラムがリクエストに応じて生成し、
更新や場合によっては削除する形となります。

ということで、bbs.cgiをはじめとする従来2ちゃんねるで動いているcgiでは、
これらが同じサーバにあるつもりでファイル操作をしていましたが、
上記に示すように、少なくとも元本は同じサーバにはなくなるため、
何らかの形で対策を考慮する必要があります。

また現在、ID生成の種やSamba24や
timcount/timeclose等の規制関係で使用している一時ファイル等、
複数のフロントエンドサーバが同じ情報を、
何らかの形で共有する必要があるものもあります。

このスレッドではこれらの処理方法や実装方法について考えながら、
bbsdに持たせたい・持つべきな機能をあぶり出し、実装仕様を詰めていくことを目標にしています。
0002動け動けウゴウゴ2ちゃんねる
垢版 |
2005/10/28(金) 16:03:47ID:TergQv970
↓スレスト
0003root▲ ★
垢版 |
NGNG
ということでちょっとだけ覚悟を決めて、bbs.cgi を少しずつ読んでみたりしています。

私はまずは「今のbbs.cgiの実装そのままでは雪だるま仕様で動きそうもない」と思った件について、
ここにひとつずつ、書き込んでいくことにしようかなと思っています。

本業しながらなのでたぶんだらだらと進んでいくことになると思いますが、何卒ご容赦くださいです。
特に、bbsd の実装をすすめていただいている SunOS さんには、
今後ともおつきあいをよろしくお願いいたします。

で、dat直読みをどうするかについては、別スレでやりたいと思っています。
(たぶんApacheのmod_proxyを使うような気がしています)
0004root▲ ★
垢版 |
NGNG
ということで、まずはぼちぼちとすすめていこうかなと。
0009動け動けウゴウゴ2ちゃんねる
垢版 |
2005/10/28(金) 16:49:29ID:HU0HoH7B0
もう dat は google base に投げ入れてしまえ
0011root▲ ★
垢版 |
NGNG
まず、ターゲットの宣言で。

1. bbs.cgi
0012root▲ ★
垢版 |
NGNG
とりあえず、パターン分けしていくです。

・ファイルの単位
A 板ごとに一つ(1単位)
B サーバごとに一つ(1単位)
...
Z その他

・更新頻度
a たまに
b 1日に1回
c 1スレ立つごとに更新
d 1書きこみごとに更新
...
z その他

(イメージをつかんだいただくための例)
1-A-a SETTING.TXT
1-B-a キャップのデータ(news18, news19を除く)
1-A-d timecount/timecloseのデータ
1-B-d Samba24のデータ

ということで要素を洗い出して、こんなふうに場合わけして、
そのうえで、

一) バックエンドで一元管理しないといけなそうなもの
二) バックエンドにある原本を、ゆっくりフロントエンドに配布すればよいもの
三) 別のところで作ったものを、フロントエンドに個別に配布すればよいもの
...
百) その他

というふうに場合わけして、上記 一) になったものを、bbsd の配下に入れることになるのかなと。
0015動け動けウゴウゴ2ちゃんねる
垢版 |
2005/10/28(金) 17:53:13ID:OhUu29NH0
2. 恋人よ半年が過ぎ 逢えないが泣かないでくれ

ついに bbs.cgi に触れる覚悟を決めたむむむ。
しかし、そこに待ち受けていたのは巨大なカオスソース。
読み始めたむむむにはもはや引き返す道は無くなっていた。
果たして、bbs.cgi はどうなる?!

〜 第14章 むむむの覚悟 〜
0016root▲ ★
垢版 |
NGNG
今まで読んでわかったもの その1

整理番号 タイプ ファイル 分類
[1-1] 1-A-a SETTING.TXT 二
[1-2] 1-A-b IDを作るための種ファイル 一
[1-3] 1-B-a index.htmlの広告ファイル1 三
[1-4] 1-B-a index.htmlの広告ファイル2 三
[1-5] 1-B-a ●規制用ファイル 三
[1-6] 1-B-a リモホ規制用ファイル 三
[1-7] 1-B-a Rock54用データファイル 三
0017◆SANUKI/VII
垢版 |
NGNG
live22xに鯖の情報入れて置いて、板に書き込むとその鯖のdatフォルダに行くようにしたりするの?
0018root▲ ★
垢版 |
NGNG
単位新規追加
C bbspinkのサーバごとに一つ(1単位)

[1-8] 1-C-a bbspinkのみの広告ファイル 三
0020動け動けウゴウゴ2ちゃんねる
垢版 |
2005/10/28(金) 18:14:55ID:OhUu29NH0
>>19
むむむさんなら「カオス」に突っ込んでくれると思った。
今は反省している。

おいちゃん頑張り過ぎなのよ(´・ω・`)
0021root▲ ★
垢版 |
NGNG
[1-9] 1-A-c スレッド立てすぎです、のための記録用ファイル 一
[1-10] 1-A-d timecount/timecloseのための記録用ファイル 一
0022root▲ ★
垢版 |
NGNG
メモ:
・datそのものや、datが入っているディレクトリを直接触っているものは、
何らかの対策を行う必要あり。

例:
ごめんなさいリミッター(datの数をreaddirで数えている)
スレッドの容量による制限(unless( -s $DATAFILE <= 512000))
0023root▲ ★
垢版 |
NGNG
メモ:
・立てようとしたスレッドキーじゃないキーでスレッドが立つケースの考慮要。

例えば1100000000でリクエストしたけど、1100000001でスレッドが立つ場合。
ごめんなさいリミッター2のところともからむ。
参考:
http://qb5.2ch.net/test/read.cgi/operate/1113117347/951 あたり
0024root▲ ★
垢版 |
NGNG
[1-11] 1-B-a キャップのデータ(news18, news19のみ1-A-a) 二
[1-12] 1-B-c ●でスレッド立てすぎです、またにしてくださいの作業用ファイルとフォルダ 一
[1-13] 1-B-d Samba24の作業用ファイルとフォルダ 一
0025root▲ ★
垢版 |
NGNG
datに追記する/新規作成するところは、既にbbsdにおいて実装済みですね。

で、広告関係はbbsdが読み込んでindex.htmlを作るから、バックエンド側か。
以下修正。場合わけ追加。

四) バックエンドにだけ置けばいいもの

[1-3] 1-B-a index.htmlの広告ファイル1 四
[1-4] 1-B-a index.htmlの広告ファイル2 四
[1-8] 1-C-a bbspinkのみの広告ファイル 四
0026root▲ ★
垢版 |
NGNG
で、既にわかっているものとして、

・指定したdatをageる => スレッド924で使用
・指定したdatの大きさを得る => 512k制限で使用
・指定した板のdat数を得る => ごめんなさいリミッターで使用

かな。
0027root▲ ★
垢版 |
NGNG
あと、クラシックさんが入れた板飛びチェックの部分があるか。
でもこれは、>>23 により必要ないかもです。

・指定した板名・キーを持つdatがあるか調べる => 板飛び防止策で使用
0028root▲ ★
垢版 |
NGNG
芋堀り用のログファイルデータを突っ込むところは、既にbbsdで実装済みのはず。

…とりあえず以上かな。
しばらく、本業します。
0029root▲ ★
垢版 |
NGNG
・指定したファイルをtouchする => キャップのあぶり出しで使用

なので、>>26 も含めて、指定したファイルをtouchできる仕組みがあるといいかもです。
0030root▲ ★
垢版 |
NGNG
さて、仕事に戻る前に。

bbsd 的には、分類 一 と >>26 >>29 に対応するためのAPIを実装いただいて、
分類 四 については、こちらから情報を出して bbsd に入れていただくというのが、
よいと思いますです。

ということで、ここまでのばしておけば即死もなさげかしら。
あとは、またあとで。
0031root▲ ★
垢版 |
NGNG
…で、外から見て思いあたったところや、
これ忘れてるんじゃないの? と思ったことは、
どんどんここに書いていただけると助かりますです。

このスレの目的は個別のコミュニケーションじゃなくて、
みんなでわいわいしながらすすめていくことなんで。
0032動け動けウゴウゴ2ちゃんねる
垢版 |
2005/10/28(金) 18:54:46ID:ezRLTwJk0
(1)調べなきゃいけない項目について個別にbbs.cgiがbbsdに質問するのと
(2)書き込みデータをさっさとbbs.cgiからbbsdに渡して、bbsdが各項目をチェックする(1つでも駄目だったらエラーを返す)のと

どっちがええの?
なんでかっていうとさ、512k制限で思った。
1000超えたスレッドとかスレストされたスレッドもbbs.cgiかbbsdかで調べなきゃいけないんじゃ?
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況