BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Apache Flinkを使用したZalandoのマイクロサービスおよびストリーム処理用アーキテクチャ

Apache Flinkを使用したZalandoのマイクロサービスおよびストリーム処理用アーキテクチャ

ブックマーク

原文(投稿日:2016/10/31)へのリンク

Javier Lopez,Mihail Vieru両氏は今月初めのReactive Summit 2016 Conferenceで,ビジネスインテリジェンスのユースケースにおけるストリーム処理を目的とした,クラウドベースのデータインテグレーションおよび分散プラットフォームについて講演した。

ヨーロッパのオンラインのファッション小売業者であるZalandoは,モノリシックからマイクロサービスへ,階層構造組織からアジャイル組織への転換を実施している。

イベントストリーム処理を導入したことで同社の技術チームは,ほぼリアルタイムなビジネスインテリジェンスを実現した。同社ではイベントストリーム処理に,FlinkKafkaElasticsearchといった技術を使用している。

同社のアーキテクチャでは,アプリケーションはREST APIを通じて相互通信し,データベースはAmazon Virtual Private Cloud(VPC)インフラストラクチャに隠蔽されている。すべてのチームは,中心にあるイベントバスにデータを公開する。同社のアーキテクチャモデルは,イベントバス経由で対話するマイクロサービスを(REST API経由で)コールするアプリケーション,次にKafka,Exporter,最後にAWS S3データストアによって構成されている。分散アクセスと適切な粒度のデータセキュリティを提供するために,Data Lakeも使用されている。

Lopez,Vieru両氏は,Flinkフレームワークをマイクロサービスアーキテクチャで使用する方法について説明した。Flinkはイベント,取得(ingestion),処理時間に基づくストリームデータの処理に使用される他,システムアーキテクチャ全体のバックプレッシャ処理も暗黙的に行なっている。

同社のビジネスプロセスには1,000を越えるイベントタイプがあり,それぞれがKafkaのトピックを所有している。さらに相関するイベントタイプ(JoinやUnionなど)の処理プロセスを解析し,ビジネスルールに基づいたデータの表現力向上を図っている。ストリーム処理は,プラットフォームスナップショット用のスライディングウィンドウ(1分から48時間まで)を使用して実施する。

アーキテクチャにはセキュリティのためのOAuth,Postgres DBベースのコンフィギュレーションサービス,Pythonを使った視覚化コンポーネントも含まれている。

次に両氏はストリーム処理の2つのケース – ほぼリアルタイムなビジネスプロセス監視ソリューションとストリーミングETLについて論じた。リアルタイムプロセス監視は,オーダ速度やデリバリ速度といったデータストリーム分析や,サービスレベル契約(SLA)のコントロールに有効だ。ストリーミングETLは,リレーショナルデータウェアハウスからリソースを解放するために使用している。このソリューションはデータウェアハウスのロード向上と遅延の低減,プラットフォームのスケーラビリティ向上に貢献する。

氏らは準リアルタイム販売や価格監視,支払不正の検出といった,ストリーミング処理の将来的な応用例についても言及した。これらのユースケースに対しては,BPMやFlinkのCEPライブラリのための複合イベント処理,状態機能といったものが使用される予定だ。

両氏が紹介したイベントストリーム処理に関する詳細は,同社のブログWebサイトを参照してほしい。

 

 
 

この記事を評価

関連性
スタイル
 

この記事に星をつける

おすすめ度
スタイル

BT