2016-07-05 10 views
1

Pub/Subシステムで実装されている動的レート制限に関する詳細は誰にも教えてください。私はgcloudのドキュメントやFAQのページで詳細を見つけることができませんでした。pubsub動的レート制限

私のpubsubの使用方法は次のとおりです。 私たちのプロダクションでpubsubを使用する予定です。今、1つのトピック、1つのサブスクリプションと1つのサブスクライバ(Webhook HTTPSコールバック)があります。時には私のサブスクライバが(非常にまれに)例外をスローすることができます。その場合、サブスクライバはpubsubに400応答を返さなければならないので、pubsubはメッセージを保持して再試行できます。

pubsubがサブスクライバから400応答を受信した場合、それは他のメッセージのフローレートに重大な影響を及ぼしますか?フロー制御がどのように実装されているかについての不十分な文書があるので、私は主に、1つの悪いメッセージが他のすべての良いメッセージの待ち時間に及ぼす影響について懸念しています。

悪意のあるメッセージの影響を軽減するために、1つのトピックを複数のトピックと複数のサブスクリプションに分割できます。

答えて

0

Pub/Subのメッセージは、コンシューマがメッセージを確認するまで保持されます。消費者がメッセージを処理したことを確認しない限り、メッセージは保持され、再配送されます。

0

時折400を返すだけであれば、加入者に配信されるメッセージの速度に深刻な影響はありません。 Subscriber Guideに記載されているように400応答が発生すると、未処理のメッセージの数は半分に削減されます。その後、別の未処理のメッセージに対して成功を返すと、ウィンドウは即座に再度倍増し、許可されている未処理のメッセージの数を効果的に減らすことはありません。

以降のメッセージのメッセージ配信は、遅延(O(10秒))から始まる次のエラーで指数関数的に増加する量だけ遅延します。成功応答が返されるたびに、後続のメッセージはもはや遅延されません。したがって、そうでなければ成功を返す加入者からの単一の400応答は、実際に顕著な影響を与えるべきではない。