Skip to Content
Apache Flinkによるストリーム処理
book

Apache Flinkによるストリーム処理

by Fabian Hueske, Vasiliki Kalavri
March 2025
Intermediate to advanced
310 pages
5h 10m
Japanese
O'Reilly Media, Inc.
Content preview from Apache Flinkによるストリーム処理

第3章 Apache Flinkのアーキテクチャ Apache Flinkのアーキテクチャ

この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com

第2章では、 、並列化、時間、ステートといった分散ストリーム処理の重要な概念について説明した。本章では、Flinkのアーキテクチャを高レベルで紹介し、Flinkが先に説明したストリーム処理の側面にどのように対処するかを説明する。特に、Flinkの分散アーキテクチャを説明し、ストリーミングアプリケーションで時間と状態をどのように扱うかを示し、そのフォールトトレランスメカニズムについて議論する。この章では、Apache Flinkを使って高度なストリーミング・アプリケーションをうまく実装し、運用するための関連する背景情報を提供する。Flinkの内部を理解し、ストリーミングアプリケーションのパフォーマンスや振る舞いを推論するのに役立つだろう。

システムアーキテクチャ

Flink は、ステートフルな並列データストリーム処理のための分散システムである。Flinkのセットアップは、通常複数のマシンに分散して実行される複数のプロセスで構成される。分散システムが取り組むべき共通の課題として、クラスタ内のコンピューティングリソースの割り当てと管理、プロセスの座標調整、耐久性が高く可用性の高いデータストレージ、障害回復などがある。

Flinkはこのような機能をすべて実装しているわけではない。その代わりに、コア機能である分散データストリーム処理にフォーカスし、既存のクラスタインフラやサービスを活用している。Flinkは、Apache Mesos、YARN、Kubernetesクラスタなどのクラスタ・リソース・マネージャとうまく統合されているが、スタンドアロン・クラスタとして動作するように設定することもできる。Flinkは耐久性のある分散ストレージを提供しない。代わりに、HDFSのような分散ファイルシステムやS3のようなオブジェクト・ストアを活用する。高可用性セットアップにおけるリーダー選出のために、FlinkはApache ZooKeeperに依存している。

このセクションでは、Flinkセットアップの様々なコンポーネントと、それらがアプリケーションを実行するためにどのように相互作用するかを説明する。Flinkアプリケーションをデプロイする2つの異なるスタイルと、それぞれがタスクを分散して実行する方法について説明する。最後に、Flinkの高可用モードがどのように機能するかを説明する。

Flinkセットアップの構成要素

Flinkのセットアップは、ストリーミング・アプリケーションを実行するために連携する4つの異なるコンポーネントで構成される。これらのコンポーネントは、JobManager、ResourceManager、TaskManager、Dispatcherである。FlinkはJavaとScalaで実装されているため、すべてのコンポーネントは Java仮想マシン(JVM)上で動作する。各コンポーネントは以下のようなレスポンスを持っている:

  • JobManagerは、単一アプリケーションの実行を制御するマスタープロセスである。JobManagerは実行のためにアプリケーションを受け取る。アプリケーションは、いわゆるJobGraphと呼ばれる論理データフロー・グラフ(「データフロー・プログラミング入門」を参照)から構成され、 、必要なクラス、ライブラリ、その他のリソースをすべてバンドルしたJARファイルを受け取る。JobManagerはJobGraphをExecutionGraphと呼ばれる物理的なデータフロー・グラフに変換する。ExecutionGraphは並列実行可能なタスクで構成される。JobManagerはResourceManagerにタスク実行に必要なリソース(TaskManagerスロット)を要求する。十分な数のTaskManagerスロットを受け取ると、ExecutionGraphのタスクを実行するTaskManagerに分配する。実行中、JobManagerはチェックポイントの調整( ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

LLMのプロンプトエンジニアリング ―GitHub Copilotを生んだ開発者が教える生成AIアプリケーション開発

LLMのプロンプトエンジニアリング ―GitHub Copilotを生んだ開発者が教える生成AIアプリケーション開発

John Berryman, Albert Ziegler, 服部 佑樹, 佐藤 直生
信頼性の高い機械学習 ―SRE原則を活用したMLOps

信頼性の高い機械学習 ―SRE原則を活用したMLOps

Cathy Chen, Niall Richard Murphy, Kranti Parisa, D. Sculley, Todd Underwood, 井伊 篤彦, 張 凡, 樋口 千洋
AWS クックブック

AWS クックブック

John Culkin, Mike Zazon

Publisher Resources

ISBN: 9798341625044