-1

HTTP GET / POST リクエストを介して着信イベントを受け入れる Kafka ベースのイベント収集パイプラインに取り組んでいます。Nginx + PHP-FPM で実行されている Web サーバーだけでなく、ユーザーのブラウザーでもイベントを受信できる必要があります。要件の性質上、このパイプラインは伸縮自在でなければならないため、AWS シンガポールにデプロイしますが、クライアント サービス Web サーバーはインドのムンバイにある物理データセンターにあります。これによるレイテンシーを導入したくないため、PHP アプリはリクエストを発行するだけでそれを忘れる必要があります。最初は、最大 5% のリクエストが失われても問題ありません。ムンバイとシンガポール間の往復は約 70 ミリ秒です。どのオプションを使用できますか:-

  • タイムアウトが 100 ミリ秒以下の Curl または fsockopen リクエスト -- 受け入れられない
  • Guzzlecurl-easyなどのライブラリを使用する -- これは内部で curl のみを使用するため、ここでもレイテンシが発生します
  • 要求をファイルにローカルで書き込み、Flume や Kafka などのバスを使用して転送します。基本的には、偶数収集パイプラインを複製することになり、ハードウェア コストが増加します。
  • ギアマンのようなワーカー キューの使用 -- これについては専門家ではないため、長所と短所がわかりません。
  • 太陽の下にあるものはすべて、無料で低メンテナンスを提供します。

提案してください。

4

1 に答える 1

0

別の複雑なレイヤーが導入されたとしても、ジョブキューシステムを使用します。これは、PHP で非同期処理を実行する最も簡単な方法の 1 つであり、同期プロセッサ時間がほとんどかからないことが保証されています。

Gearman またはZeroMQを使用できます。どちらも PHP で非常によくサポートされています。

于 2013-02-19T14:52:45.740 に答える