次のようにスクライブを使用します。
Web サーバー(SA) --->ローカル スクライブ サーバー(SB)
- Web サーバー (SA) とローカル スクライブ サーバー (SB) を 1 台のマシンに。
- Web サーバーはすべてのログをスクライブに最大 3 回送信するだけで、2 回再試行した後、それらを破棄します。
- Local Scribe Server はバッファ ストアを使用し、プライマリはネットワーク ストアを使用してログを次の Collector Scribe BJ に送信し、セカンダリはログをローカル ディスクに書き込みます。
---->Collector Scribe BJ(SC)----ssh トンネル(gzip 圧縮)---vpn--->Collector Scribe SH(SD)
- コレクター スクライブ BJ (SC) とローカル スクライブ サーバー (SB) を 1 つの LAN 上に配置。
- Collector Scribe BJ(SC) はマルチ ストアを使用し、store0 はバッファ ストアを使用し、store0 プライマリはネットワーク ストアを使用して次の Collector Scribe SH にログを送信し、store0 セカンダリはローカル ディスクにログを書き込み、max_queue_size を設定します。 =10000000 および max_queue_length=2000000。
- Collector Scribe BJ(SC) は store0 -- buffer store -- primary store ネットワークを使用してローカル ポートにログを送信し、ssh トンネルを介して IDC BJ から IDC SH にメッセージを送信します。
- 最後に、コレクタ スクライブ SH(SD) は std ファイル ストアを使用してログをディスクに書き込みます。
これが私の質問です。
質問 1: スクライブ ソース コードで max_queue_length オプションの使用法が見つかりません。また、max_queue_length が非推奨であるという googlegroup で言及されているいくつかの情報も見つけました。ここで「max_queue_length=20000000」を使用しても効果がないのでしょうか。
質問 2: オプション max_queue_length 「キュー内のメッセージ数がこの値を超えた場合、バッファ ストアはセカンダリ ストアへの書き込みに切り替わります (githup wiki で説明されています)」だけで、バッファ ストアのスクライブがプライマリをいつ切り替えることができるかを制御できます。セカンダリ ストアに格納します。max_queue_length が役に立たない場合、プライマリ ストアからセカンダリ ストアへのバッファ ストアの切り替えを制御するにはどうすればよいですか?
質問 3: ローカル スクライブ サーバー (SB) のセカンダリ ストアの書き込み速度が Web サーバー (SA) の入力速度よりも速い場合、ローカル スクライブ サーバー (SB) はデータを失うことはありませんか?
質問 4: inder.pall が言及した googlegroup にもグラフがあります。Here is the link: http://scribe-server.googlegroups.com/attach/979f9ffbe00f5eb3/Screen+Shot+2011-11-22+at+9.12.32+AM.png?gda=FIJ3I0cAAACFwDSo_bUG96Wo0CVG6AlpKMzYsToU_WRZEGbv_RKdbkT0wWvVm1xmkWqWMWNxOm4bQwFxJw55cVwemAxM-EWmeV4duv6pDMGhhhZdjQlNAw&view=1&part=4 スクライブが利用できない (not alive&timeout) か、そのキュー サイズが max_queue_size より大きい場合、上流のスクライブに TRY_LATER が返されると思います。この時点で、上流のスクライブはメッセージをセカンダリにバックアップしますか?
質問 5: 質問 4 で述べたように、vpn(BJ--SH) が非常にビジーで遅延が非常に大きい場合、トンネルが使用可能でコレクタ スクライブ SH(SD) が TRY_LATER を返さず、明らかにコレクタ スクライブ BJ( SC) の入力速度はトンネルへの出力速度よりも大きいため、Collector Scribe BJ(SC) のメモリは継続的に増加し、セカンダリ ストアは使用されませんか?