3

私は以下の要件を持つアプリケーションの構築に取り組んでおり、flink を使い始めたばかりです。

  • たとえば 50 個のパーティションを使用してデータを Kafka に取り込みます (受信レート - 100,000 メッセージ/秒)
  • Kafka からデータを読み取り、各データを処理します (計算を実行し、古いデータと比較するなど) リアルタイム
  • 出力を Cassandra に保存する

私はリアルタイム ストリーミング プラットフォームを探していましたが、Flink がリアルタイムとバッチの両方に最適であることがわかりました。

  • flink が私のユースケースに最適だと思いますか?それとも、Storm、Spark ストリーミング、またはその他のストリーミング プラットフォームを使用する必要がありますか?
  • flink で一連のステップを実行するには、Google データ フローにデータ パイプラインを記述する必要がありますか?それとも、リアルタイム ストリーミングの一連のステップを実行する他の方法はありますか?
  • 各計算に 20 ミリ秒かかるとしたら、どうすれば flink を使用してより適切に設計し、スループットを向上させることができるでしょうか。
  • Redis または Cassandra を使用して、計算ごとに flink 内でデータを取得できますか?
  • flink 内で JVM メモリ内キャッシュを使用できますか?
  • また、ある時間枠 (例: 5 秒) のキーに基づいてデータを集計することもできます。たとえば、100 件のメッセージが着信し、10 件のメッセージが同じキーを持つとします。同じキーを持つすべてのメッセージをグループ化して処理できますか。
  • flink を使用したベスト プラクティスに関するチュートリアルはありますか?

皆様のご協力に感謝いたします。

4

1 に答える 1

2

タスクの説明を考えると、Apache Flink はユース ケースに適しているように見えます。

一般に、Flink は低レイテンシーと高スループットを提供し、これらを調整するパラメーターを備えています。Redis または Cassandra との間でデータを読み書きできます。ただし、状態を Flink の内部に保存することもできます。Flink は、Windows の洗練されたサポートも備えています。Flink Web サイトのブログを読んだり、ドキュメントで詳細を確認したり、このFlink トレーニングに従ってAPI を学習したりできます。

于 2016-06-10T09:19:34.117 に答える