2016-09-08 20 views
7

〜100kの範囲のメッセージ数を持つpubsubトピックの場合、gcloud-java SDKを使用してすべてのメッセージを排水/削除/削除するためのベストプラクティスは何ですか?Google Cloudのpubsubのトピックを排除またはクリアするためのベストプラクティス

考えられる解決策:

  • 削除と加入者を再作成し、その後、出版社

  • 他の並行性の高いプル+ ACK(簡単なクォータをヒットするには、この方法)

  • 何か

私の希望は、このプロセスは速い(約60秒以下)堅牢で、サポートされているSDKメソッドを最小限の他のコードで使用します。

答えて

10

現在のところ、Google Cloud Pub/Subでは古いメッセージは表示されませんが、追加する予定のメッセージです。サブスクリプションの削除と再作成は、時間とコストの両方で、サブスクリプションを削除する最も効率的な方法です。出版社と何もする必要はありません。レクリエーション後のポイントからパブリッシュされたメッセージは、再作成されたサブスクリプションでサブスクライバに送信されます。

+0

サブスクリプションを削除して再作成しても、すでにパブ/サブに公開されているメッセージはクリアされていないようです。トピックを削除して再作成することはできません。唯一の確実な方法は、トピックを放棄して、新しいものを作成することだけです。そうすれば、すべての出版社も変更する必要があります。 –

+0

「メッセージをクリアしていないようだ」と言ったら、どういう意味ですか?新しいサブスクリプションはこれらのメッセージを受信しません。 –

+0

私の悪い - 私のデータフローの加入者にバグがありました。サブスクリプションを削除して再作成すると、新しいメッセージだけが送信されるように見えます。 –

関連する問題