9

多くの読者がこのバッファから独立して消費している間に、常にバッファに追加されているアプリを構築しています(追記一読/ WORM)。最初はApache Kafkaを使用することを考えましたが、サービスとしてのオプションを好む私はAWS Kinesis Streams + KCLを調査し始めました。Google Cloud PlatformのKafka/AWS Kinesisストリームに相当します

基本的には、順序付け(イベントはすべての読者が同じ順序で読まなければなりません)と、読者が先に消費し始めるバッファのオフセットを選択する機能が必要です。

Google Cloud Platformも評価しています。私はドキュメントを読んでいるとして、Googleのパブ/サブをAWSキネシスストリームに相当するものとして提案されているようですが、より詳細なレベルでは、これらの製品は、異なる多くのことを思え:シャード内で注文

  • キネシス保証、しばらくオンパブ/サブオーダリングはベストエフォート型です。
  • キネシスには読者が利用できるすべてのバッファ(最大7日まで)があり、オフセットを使用して開始読書位置を選択することができ、PubSubではサブスクリプション後のメッセージのみが消費可能です。

PubSubが正しいと判断した場合、PubSubはKinesis相当品とはみなされません。おそらく、Google Dataflowと一緒に使用される場合ですか?私はまだどのように見ることができないことを告白する必要があります。

したがって、PubSubはKinesisの代替品ですか?そうでない場合、要件を満たすGoogle Cloud製品はありますか?

ありがとうございます!

+0

これも私が見ることができるものです。 PubSub + DataFlow(約)はKinesisと同等ではありません。私はKinesisを広範囲に使用していましたが、pubsubやDataflowのようなドキュメンテーションや機能は表示されません。彼らは少し遠いかもしれない。 – Kannaiyan

+0

https://cloud.google.com/blog/big-data/2016/09/apache-kafka-for-gcp-users-connectors-for-pubsub-dataflow-and-bigqueryの投稿はちょっと私を少し作りましたもっと混乱している。それはPubSubがKafkaの代わりであることを(微妙に)暗示していますが、私はまだ同じ能力を見ません。 – Renan

+0

Pub/Subでは、メッセージのペイロードに注文情報を追加する必要があります。これは、アプリケーションに問題がある場合とそうでない場合があります。 – gdahlm

答えて

3

むしろ複雑な解決策が、それは役立つかもしれない:

    は、単一のトピックにパブリッシュ/サブスクライブを使用して、イベントをプッシュ
  • 。この時点で、彼らは順序付けられていません。
  • pub/subトピックから読み取るクラウドデータフローストリーミングパイプラインを作成します。クラウドbigqueryへのストリーミング書き込みを行い、各テーブルエントリにタイムスタンプを追加します。
  • 読者はbqテーブルに対してクエリを実行し、タイムスタンプで順序を揃えるようにしてください。 ROW_NUMBERをオフセットとして使用できます。

希望するものがあります。

+0

おそらく動作しますが、あなたが言ったように、それは多くの作業です。この時点では、私はむしろ計算インスタンスにKafkaをインストールしたいと思います。しかし、提案に感謝します。 – Renan

+0

@Renan [Pub/Subでメッセージを注文するための推奨される方法](https://cloud.google.com/pubsub/docs/subscriber#at-least-once-delivery)のいずれかを実装していない場合は、 [Kafka on Compute Engine](https://pantheon.corp.google.com/launcher/details/bitnami-launchpad/kafka?project=javatester-1002&organizationId=433637338589)をホスティングするあなたのアプローチが確かに最良の選択肢です。Pub/Subエンジニアはメッセージ発注の実装に熱心に取り組んでいますが、現在この機能のETAはありません。 – Jordan

+1

@Jordan注文方法の1つを実装しようとすることができます。しかし、私が一番欠けているのは、既知の、piorのオフセットからバッファを読み始める能力です(私が正しく覚えていれば最大の可用性は7日間です)。私の購読後に投稿されたメッセージだけをPubSubで受け取ることができます。私は以前のメッセージを読むことができません。私は100%Google Cloudソリューションを手助けすると考えれば、より多くの背景を提供するために質問を更新するかもしれません。ありがとう! – Renan

関連する問題