ストリーミング データ処理におけるマイクロサービス アーキテクチャ: Kubernetes と Apache Flink の使用

著者: 禅とコンピュータープログラミングの芸術

ビジネス データの大幅な増加と、さまざまな新しい機器、ソフトウェア、インターネット アプリケーションの継続的な出現により、従来のスタンドアロン コンピューティングではビジネス処理のニーズを満たすことができなくなり、ビッグ データ プラットフォームの出現により、より効率的で便利なソリューションが提供されます。分散型で弾力性のあるマイクロサービス アーキテクチャをビッグ データ プラットフォームにどのように展開するかが鍵となります。この記事では、Kubernetes と Apache Flink に基づくマイクロサービス アーキテクチャを紹介します。

Apache Flink は、リアルタイム、インタラクティブ、バッチ、機械学習、その他のシナリオにおける柔軟性の高いコンピューティングのために設計された、オープンソースの高スループットの分散ストリーミング データ処理エンジンです。Apache Flink を通じて、ユーザーはリアルタイム分析システムを簡単に実装できます。Flink は、強力なフォールト トレランス メカニズムと水平拡張機能を提供できるため、リアルタイムのイベント ストリーム データの処理や、大規模なデータ セットの高速クエリ処理に使用できます。Apache Flink は、その幅広い機能と充実したエコシステムにより、Netflix、Twitter、Uber、Datadog などを含むいくつかの企業に採用されています。

Kubernetes は、Google が 2015 年に開始したオープンソースのコンテナ オーケストレーション システム (Orchestration System) です。これにより、ユーザーはクラスターのワークロードを定義、スケジュール、管理できるようになり、クラウド プラットフォームでのアプリケーションの自動展開、スケーリング、管理が可能になります。Kubernetes はスケーラブルで弾力性があり、複雑な環境変化に対応し、高可用性を提供できるため、開発者と運用保守担当者はアプリケーションの開発、テスト、リリースのプロセスに集中でき、それによってソフトウェアの品質が向上します。

これら 2 つのオープン ソース システムの組み合わせに基づいて、Kubernetes を使用して、ビッグ データ プラットフォーム上でストリーミング データを処理するためのマイクロサービス アーキテクチャを展開できます。アーキテクチャは複数の階層化されたサービスで構成され、各サービスは 1 つ以上のコンテナで構成されます。サービス間の通信は、非同期メッセージ キューを通じて行われます。さらに、Apache Flink をビッグ データ プラットフォーム上のコンピューティング エンジンとして使用して、各レイヤーのサービス間のワークロードを調整することもできます。

この記事では、Kubernetes と Apache Flink を使用してストリーミング データ処理マイクロサービス アーキテクチャをデプロイする方法に焦点を当てます。読み終えると、読者は 2 つの人気のあるオープンソース ソフトウェアを使用して分散型で弾力性のあるマイクロサービス アーキテクチャを構築する方法を理解できるはずです

おすすめ

転載: blog.csdn.net/universsky2015/article/details/131746505