将来のデータアーキテクチャ - ストリーム処理アーキテクチャに

ファイル

データアーキテクチャの設計は、革命を受けて、その影響は、リアルタイム処理事業だけではない、この変更ではなく、単にプロジェクトのリアルタイムストリーミング計算などよりも、ストリームベースの処理のアーキテクチャの中核として見ることができます使用しています。この記事では、データストリーム処理アーキテクチャの伝統的な建築との違いを比較し、マイクロシステムおよび全体的なサービスで使用される処理アーキテクチャをストリーミングする方法について説明します。

従来のデータ・アーキテクチャ

従来のデータ・アーキテクチャ、ビジネス・データ・システムとビッグデータシステムに分けることができる集中データシステムです。

ファイル

このようSQL、NOSQLデータベース、データなどのトランザクション業務データ・ストレージ・システムのデータは、そのようなユーザサービス、決済サービス、および他のシステムを実現することができますように正確なデータを、持っている、これらを更新する必要があり、全体的なビジネス・システム・サポートの中核です。

大規模なデータ・ストレージ・システムは、データが大きすぎるので、それはHadoopのと実装のための他のビッグデータフレームワークがかかることがあり、システムがユーザーの訪問日ゼロで、このような統計のタイミングの結果を計算し、結果が生じる可能性である、データが頻繁に更新する必要はありませんのために主に責任がありますSQLデータベース、完全な統計情報を記述します。

リアルタイム・データ・システムは、リアルタイムのログ警報システム、リアルタイムの推奨システムとして、唯一の特定のアイテム使用などが多いです。

ファイル

この理由は、設計限度データ処理性能と精度ためである将来Streaming-ビッグデータ、前述の記事による制御不能なイベント時に、我々は、データの正確かつ信頼できる情報源としてのリアルタイムデータにすることはできません。低レイテンシ要件が大幅にシステムのパフォーマンスを取り上げます。

この伝統的な建築様式が正常に数十年のために役立つが、大規模分散コンピューティングシステムの複雑さの上昇で、このアーキテクチャは圧倒されました。多くの企業は、多くの場合、以下の問題が発生します。
•多くのプロジェクトでは、データ分析からのデータは、複雑すぎて遅すぎる目的のワークフローを実現しています。

•従来のデータ・アーキテクチャは、あまりにも単純です:データベースが唯一の正しいデータソースで、各アプリケーションは、データベースにアクセスして必要なデータを取得する必要があります。

•このアーキテクチャでは、システムは非常に洗練されたアプローチの異常を持っています。異常がある場合、うまく実行できるシステムを確保することが困難です。

そして、実際のデータとステータスデータとの整合性を維持するなどのシステム規模が絶えず更新し、グローバルな状態を維持するために、より多くの困難、必要になります。

ストリーム処理アーキテクチャ

新しいオプションとして、ストリーム処理アーキテクチャは、大規模システムでは、企業が直面する多くの問題に対処しています。フローベースのアーキテクチャを用いて連続的にアプリケーションに記録されたデータを作るために設計されており、様々なアプリケーションの間でソース・ストリーム・データから流れ続けます。データの共有と終わることのない流れに置き換えグローバル状態データを格納するために何の集中データベースはありませんが、それだけで正しいデータソース、歴史的なビジネスデータの記録です。ストリーム処理アーキテクチャでは、各アプリケーションは、ローカルデータベースまたは分散ファイルストレージを使用して自身のデータを有しています。

思考のこの行の前に行うことは不可能であり、それはニュースの消費を繰り返す能力を持っているだけでなく、高性能なメッセージングシステムを維持するために私たちを必要とし、また、入射時間の正確な取り扱いをしなければならないが、今、私たちは持っていますカフカとFLINKは、すべてが簡単になります。

ファイル

主に二つの部分のストリーム処理アーキテクチャプロジェクト:メッセージングレイヤ、プロセスフロー層。データソースは、ストリームイベント、ネットワーキングのデータをクリックし、ログなどの連続ニュースの流れ、です。種々の可能な出力データ・フロー。

メッセージング層の連続データ収集イベントは、さまざまなデータソース(生産者)から生成され、これらのデータ(消費者)のアプリケーションやサービスへの加入を移しました。この設計は、デカップリング・生産者と消費者、話題のコンセプトを可能にする複数のデータソース、複数の消費者を受け、消費者は、それがすぐに有効になっているされている必要はありませんメッセージを処理する必要はありません。メッセージングレイヤバッファと同等の高いパフォーマンス、耐久性を、持っている必要があり、データは短期的なイベントを保存することができます。カフカとの両方の高い性能と耐久性を可能にします。永続的なメッセージを達成するためのメカニズムをオフセット、メッセージが再計算再生することができ、かつ、読み書きディスクキャッシュに基づいて、高いスループットを達成することができます。

ファイル

ストリーム処理層3が使用:①連続アプリケーションとシステム間でデータを移動、②重合及びイベントを処理する。③アプリケーションローカルに保持状態

FLINKこれらの利点の両方が、ApacheのフレームワークとFLINKには、境界と境界データストリームを持っていない状態で計算を実行するための分散処理エンジンです。FLINKは、すべての一般的なクラスタ環境上で実行することができ、かつ任意のサイズとメモリ速度で計算することができます。

ファイル

マイクロおよび全体的なサービスシステムで使用されるストリーム処理アーキテクチャ

マイクロサービスで使用

流出から上記ストリームデータのストリーム処理アーキテクチャカフカメッセージから理解されます。メッセージキューと処理されたからFLINK加入データ。処理されたデータは、別のメッセージキューに流すことができます。すべてのそのようなアプリケーションは、データ・ストリームを共有することができます。

マイクロプロセッサベースのストリーミングサービスアーキテクチャは、開発者の不正検出システムのための柔軟性を提供します。新しいデータの消費支出はほとんど無視できる追加し、適切な場合には、過去の情報やデータを任意の形式に保存され、任意のデータベース・サービスを使用してすることができます。繰り返し使用へのメッセージは、取り扱い、持続性は、その最大かつ最も効率的に役割を果たしました。

システム全体に適用されます

実際には、ストリーム処理アーキテクチャの役割はそれよりもはるかにある、消費者データに限定されるものではなく、彼らは非常に重要なものですが、リアルタイムアプリケーションをストリーミングします。

ファイル

図は、ストリーム処理アーキテクチャの恩恵を受けて、消費者のカテゴリを示しています。消費者のグループは、リアルタイムで更新されたダッシュボードなどのリアルタイム分析のすべての種類を、行うことができます。グループBの消費者レコードデータの現在の状態は、これらのデータは、データベースやファイルの検索に保存することができます。

例えば、電力監視システムでは、我々はまた、その上の永続的なデータも、履歴分析や予測を行う必要があり、電流と電圧のデータのリアルタイム監視を必要とする、と、停電のため、リアルタイムのアラームを必要としています。

ファイル

この記事では、簡単に、伝統的な建築様式とデータストリーム処理アーキテクチャの違いを比較して、だけでなく、ストリーム処理アーキテクチャ嘘の利点が、このシステムは、カフカとFLINKのその複雑さと深さを理解するために多くの課題に直面していることすべてが容易になります。

参考:FLINKベースのチュートリアル

FLINK公式文書

関連記事:

FLINKクイックスタート

ビッグデータのStreaming-未来

カフカは何ですか?

もっとリアルタイム計算、FLINK、カフカやその他の関連技術ボーエン、歓迎の注意リアルタイムストリーミングコンピューティング

ファイル

おすすめ

転載: www.cnblogs.com/tree1123/p/11428109.html