2

ログを送信するときにプロデューサーがサーバーに接続することなく、メッセージをログに記録する最速の方法を探しています。最良のシナリオは、メッセージを非常に高速なローカル (メモリ、ローカル メッセージ キュー) に記録してから終了することです。次に、別のプロセスがそれをデキューし、実際のコンシューマーに送信します (おそらく永続的な接続を使用)。これにより、余分な接続が防止されるため、プロデューサー プロセス (Web サーバー ハンドルなど) の処理速度が低下します。

PHP を使用した RabitMQ は私の興味の対象でしょうか?

4

3 に答える 3

0

あなたが提案した解決策はうまくいくでしょう。ただし、実際にメッセージング サーバーに接続しているプロデューサーは、ログがはるかに高速でメモリ キューに入れられるため、メッセージング サーバーにメッセージを送信できない可能性があるため、メモリ内キューにメッセージが蓄積される可能性があります。

于 2012-05-24T05:12:22.553 に答える
0

@robthewolf がコメントで指摘しているように、メッセージ キューへの接続は、ローカルかどうかに関係なく、追加の接続です。また、「処理」(メッセージのフォーマット? ログの表示?) が正確に何を意味するのかわかりません。

あなたの説明から、 Graylogを調べる必要があると思います。MonologをGelf- PHPで使用して、ログ メッセージを AMQP 経由で Graylog-Server に送信できます。

于 2012-05-22T12:08:14.717 に答える