Apache Flink の概要:
Apache Flink は、無制限および有界のデータ ストリーム計算におけるステートフル処理のためのフレームワークおよび分散処理エンジンです。 Flink はすべての一般的なクラスター環境で実行され、メモリ速度とあらゆる規模で計算できます。
(推奨チュートリアル: apache)
次に、Flink アーキテクチャの重要な側面を紹介します。
無制限データと制限付きデータの処理
あらゆる種類のデータがイベント ストリームを形成できます。クレジット カードのトランザクション、センサーの測定値、マシンのログ、Web サイトやモバイル アプリでのユーザー インタラクションの記録、これらすべてのデータがストリームを形成します。
データは、無制限または制限付きのストリームとして処理できます。
1. 無制限フロー フローの始まりは定義されていますが、フローの終わりは定義されていません。彼らは際限なくデータを生成します。無制限フローのデータは継続的に処理する必要があります。つまり、データは取り込まれた後すぐに処理する必要があります。入力は無限であり、いつでも完了することはないため、すべてのデータが到着するまで処理を待つことはできません。無制限のデータを処理するには、結果の完全性を推測できるように、イベントが発生する順序など、特定の順序でイベントを取り込む必要があることがよくあります。
2. 境界フローは、フローの始まりと終わりを定義します。境界付きストリームを使用すると、すべてのデータが取り込まれた後に計算を実行できます。制限されたストリーム内のすべてのデータは並べ替えられるため、順序付けられた取り込みは必要ありません。境界付きストリーム処理は、バッチ処理と呼ばれることがよくあります。
Apache Flink は、境界のないデータ セットと境界のあるデータ セットの処理に優れています。正確な時間制御とステートフル性により、Flink のランタイムは、境界のないストリームを処理するアプリケーションを実行できます。境界付きストリームは、固定サイズのデータセット用に特別に設計されたアルゴリズムとデータ構造によって内部で処理されるため、優れたパフォーマンスが得られます。
Flink 上に構築されたユースケースを検討することで理解を深めてください。
アプリケーションをどこにでも展開
Apache Flink は、アプリケーションを実行するためにコンピューティング リソースを必要とする分散システムです。 Flink は、Hadoop YARN、Apache Mesos、Kubernetes などのすべての一般的なクラスター リソース マネージャーと統合されますが、スタンドアロン クラスターとして実行することもできます。
Flink は、上記の各リソース マネージャーと適切に動作するように設計されており、これはリソース マネージャー固有のデプロイメント モードを通じて実現されます。 Flink は、現在のリソース マネージャーに適切な方法で対話できます。
Flink アプリケーションをデプロイすると、Flink はアプリケーションの構成された並列処理に基づいて必要なリソースを自動的に識別し、リソース マネージャーにこれらのリソースを要求します。障害が発生した場合、Flink は新しいリソースを要求して、障害が発生したコンテナを置き換えます。アプリケーションを送信または制御するためのすべての通信は REST 呼び出しを通じて行われるため、Flink のさまざまな環境への統合が簡素化されます。
あらゆる規模でアプリケーションを実行
Flink は、あらゆる規模でステートフル ストリーミング アプリケーションを実行できるように設計されています。したがって、アプリケーションは潜在的に数千のタスクに並列化され、クラスター全体に分散されて同時に実行されます。したがって、アプリケーションは無限の CPU、メモリ、ディスク、ネットワーク IO を活用できます。また、Flink を使用すると、非常に大規模なアプリケーションの状態を簡単に維持できます。その非同期および増分チェックポイント設定アルゴリズムは、処理遅延への影響を最小限に抑えながら、1 回限りの状態の一貫性を保証します。
Flink ユーザーは、実稼働環境での素晴らしいスケーラビリティ数値を報告しています。
1 日あたり数兆のイベントを処理し、アプリケーションはテラバイトの状態を維持し、アプリケーションはデータ上で実行されます。数千のコアで実行されます。
メモリ パフォーマンスの活用
ステートフル Flink プログラムは、ローカル状態アクセス用に最適化されています。タスクの状態は常にメモリ内に維持されます。状態のサイズが使用可能なメモリを超える場合は、効率的にアクセスできるディスク上のデータ構造に保存されます。タスクはローカル (通常はメモリ内) 状態にアクセスしてすべての計算を実行するため、処理遅延が非常に短くなります。 Flink は、ローカル状態ストレージを定期的かつ非同期的に永続化することで、障害シナリオにおける 1 回限りの状態の一貫性を保証します。
以上がApache Flink とは何かを紹介しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。