NetEase Cloud Musicは、Flinkのリアルタイムデータウェアハウスプラクティスに基づいています

背景紹介

現在、NetEase Cloud Musicリアルタイムコンピューティングプラットフォームには、150台を超えるマシン、700の実行中のタスク、および400万のピークデータQPSがあります。Li Hanmiao氏は、「このリアルタイムコンピューティングプラットフォームを使用している開発者はおそらく180人を超えている」と明かしました。

ビジネスカバレッジのレベルでは、リアルタイムに関連するのは基本的に、リアルタイムレポート、リアルタイム機能、リアルタイムインデックス、およびリアルタイムサービスを含む完全なカバレッジです。リアルタイムコンピューティングプラットフォームは2018年の前半に開始され、その間に2回の反復が行われました。2020年の前半まで、タスクは200%近く増加しました。

NetEase Cloudは、バージョン1.7に基づくリアルタイムコンピューティングプラットフォームバージョン1の設計です。ご存知のとおり、Flinkはバージョン1.11に更新されており、Blinkの多くの優れた機能が統合されています。Aliに買収された後、Flinkはバージョン1.9から開始し、バージョンが繰り返されるたびに、多くのコードが変更されました。

Flink1.7のコミュニティバージョンはSQLDDLをサポートしていないため、ユーザーの便宜のために、DDLやディメンションテーブルJOINなどのAntlrのカスタムSQL文法に基づいています。さらに、リアルタイムプラットフォームの最初のバージョンには、データの血縁関係追跡機能がないため、問題を特定するのが困難です。

リアルタイムプラットフォームの最初のバージョンには、メタデータコントロールがなく、Jarタスクの関連付けが解除されています。そのタスクの監視は健全ではありません。問題が発生した場合、収集したメトリックでは問題を特定するのに十分ではありません。今それを見ると、リアルタイムプラットフォームの最初のバージョンには多くの問題があります。

リアルタイムのデータウェアハウスの構築

リアルタイムデータウェアハウスバージョンは、Flink 1.9バージョンに基づいています。その主な機能は次のとおりです。ユーザーがデータ形式をあまり定義する必要がないようにメタデータセンターと統合する、SQLとSDKがユーザーが使用できるように提供される、終了-エンドツーエンドの採血;データソースとタスクの監視は完璧です。

▲リアルタイムデータウェアハウスのアーキテクチャ図

SQLとSDKを入力として、リアルタイムデータウェアハウスのアーキテクチャ図を最初から見て、Plannerに直接アクセスします。PlannerとSQLが接続されており、SQLステートメント全体を解析できます。次に、MetaHub(クラウドデータセンター)に接続されているカタログが挿入されます。

すべてのメタデータが制御され、メタデータセンターであるシステムが形成されます。既存のすべてのメタデータシステムのストレージを管理でき、MQメタデータの独立したモジュール管理、プラグインメタデータ管理、統合データタイプ、メタデータ取得などの機能を備えています。

データウェアハウスの構築は、統一されたテーブル表現形式(catalog.db.table)、データウェアハウス階層、およびテーブル権限管理の3つの部分に分かれています。リアルタイムデータウェアハウスを実行する場合、既存のオフラインデータウェアハウスモデルを使用して、リアルタイムデータウェアハウステーブルを完全にコピーします。

SDKは、カプセル化された内部SQL実行ロジック、単純なAPI、およびデータ収集を提供します。上の写真は、実際のビジネスコードであるSDKで作成されたデモです。以前は190行近くのコードを使用して実装していましたが、カプセル化後は合計で12行未満のコードであり、ユーザーが使用するのに便利です。

データ、データソース、およびデータ書き込みから、きめ細かいタスクレベルのインジケーター監視とMQデータボリューム監視を提供します。Li Hanmiao氏は、「この種のクラスターレベルの監視は、プラットフォームが特定のレベルに達したときに不可欠です。完全な監視は、プラットフォームの優れた補足です」と考えています。

リアルタイムのデータウェアハウスの実践

リアルタイムデータウェアハウスの最初の典型的な方法はABTestです。これは、元のデータをHIVEに格納し、Sparkを使用してクリーニングと集計を行い、それを上のテーブルに出力します。リアルタイムデータウェアハウスとオフラインデータウェアハウスの階層化は実際には同じであることに注意してください。

ABTestのリアルタイムデータウェアハウスバージョンは、以前のHIVE + Spark処理モードを取り除き、アプリケーションの効果は非常に優れています。

リアルタイムデータウェアハウスの2番目の典型的な方法は、上の図に示すように、NetEaseクラウドミュージックライブブロードキャストの統計テーブルであるリアルタイムレポートです。リアルタイムのレポート作成タスクが簡単になり、データの問題の位置付けがより明確になります。

3番目の典型的な方法は、機能の再利用と機能の血縁関係の表示を備えたリアルタイム機能です。統計を作成しました。アルゴリズムチームと出力機能によって実行されるタスクの多くは反復的です。これにより、目に見えないほどリソースが浪費され、チーム開発のコストが増加しました。

リアルタイムデータウェアハウスは特性を階層化し、すべてのテーブルはビジネスに応じて分離され、すべて統合されています。アルゴリズムチームがいくつかの機能を使用したい場合は、プラットフォーム上で関連する機能を直接検索し、そこに含まれる情報に基づいてさらに操作を実行できます。

 

2020年10月22日から24日まで、IT168のITPUBエンタープライズコミュニティプラットフォームが主催する第12回中国システムアーキテクト会議(SACC2020)がクラウド上でウェブキャストされます。2009年以来、SACCアーキテクトカンファレンスは11回のセッションで成功裏に開催され、国内のCTO、R&Dディレクター、シニアシステムアーキテクト、開発エンジニア、ITマネージャー、その他の技術グループが集まり、会議の規模は1,000人を超えました。20以上の特別セッションと約120のトピックを含む、過去3日間の議題は、会議のオンラインライブWebキャストに完全に移行されました。SACC2020は、グランドイベントへの登録と参加を楽しみにして、反撃する準備ができています。

おすすめ

転載: blog.csdn.net/Baron_ND/article/details/109645133