BT

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

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Jey Kreps氏,Apache KafkaとKafka Streamsを利用した分散ストリーム処理を語る

Jey Kreps氏,Apache KafkaとKafka Streamsを利用した分散ストリーム処理を語る

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

Apache KafkaKafka Streamsフレームワークは,ストリーム中心アーキテクチャと分散型ストリーム処理アプリケーションの開発を支援する。Jay Kreps氏(Confluent社のCEO)は,先週, Reactive Summit 2016 Conferenceにて,ストリーム処理とマイクロサービスに関する基調講演を行った。

Kreps氏は,データベース技術に関する研究はたくさんあるのに,メッセージキューに関する研究が少ないことを指摘した。メッセージングはマイクロサービス・ベースのアプリケーション・アーキテクチャの基盤として利用できる。

氏は,プログラミングにおける3つのパラダイムについて語った。 リクエスト/レスポンス,バッチ,そしてストリーム処理である。 また,これらのパラダイムの違いを解説した。 ストリーム処理アプローチは,オンライン,バッチの両方のユースケースに対して適用できる。 重要な点として,ストリーム処理はMapReduceより高速なわけではないことが挙げられる。 データをどのように処理し,分析するかに関して,両者は別々のパラダイムである。 Kreps氏は,4つのKafkaのコアAPIベースのストリーム処理について議論を展開した。Producer,Consumer,Connector,そしてStreamsである。

Kafka Streamsは,フォールト・トレラントな分散ストリーム処理アプリケーションを構築するためのJavaライブラリである。 これは,map,filter,集計(count,sum)やjoinといったAPIメソッドをサポートしている。

別の基調講演にて,Peter Alvaro氏(UC Santa Cruzより参加)は,大規模分散型フォールト・トレラント・システムの故障テストの自動化について語った。 氏は,Lineage-Driven Fault Injection (LDFI)アプローチを解説した。 これは,テスト支援において冗長な計算を識別するため,トレース情報やログ情報を利用するアプローチである。

Peter氏はシステムの故障テストのために必要な,4つの項目を挙げた。

  • 現実の問題
  • 現実のシステム
  • 思考時間
  • 失敗に対する寛容な態度

このトピックに対する詳細は,故障テストの自動化に関するNetflixのブログ記事を確認してほしい。

カンファレンス2日目のその他のセッションには,Monolith to reactive microservices (Jan Machacek氏)やBack-Pressure with Akka Streams and Kafka(Anil Gursel氏およびAkara Sucharitakul氏)がある。

Jan Machacek氏は,Akka,ScalaおよびKafkaの技術を利用したマイクロサービスにより開発されたシステムの話題を取り上げた。 システムはさらに,ストレージとしてApache CassandraとRabbitMQを使用し,バッチによる分析コードにはApache Sparkを使用している。 氏は,分散システム開発においては,高精度のモニタリングとトレーシングの能力が必要になる,と述べた。 各々のマイクロサービスは内部APIを公開している。 これにより,開発者はどのようにサービスを利用するかを理解できる。

Anil Gursel氏とAkara Sucharitakul氏は,PayPal社におけるAkka StreamsとKafkaを用いた事例での瞬間的な高負荷対策として,ストリームに対する"背圧制御"(back-pressure)の解説を行った。 彼らは,例としてWebクローラのユースケースを挙げ,Kafkaのバッファリング機能の使い方や,Akka Streamsにおける非同期処理を用いた背圧制御を説明した。

Akka Stremasフレームワークは,純粋な非同期ストリーム処理を提供し,リアクティブ・ストリーム処理を実現する。 彼らはさらに,Squbsを紹介した。 これはPayPalが開発したリアクティブ・プラットフォームである。 ブートストラップ,ライフサイクル・マネジメント,疎結合モジュールシステム,およびロギングやモニタリングとの統合の能力を提供する。

 

 
 

Rate this Article

Relevance
Style
 
 

この記事に星をつける

おすすめ度
スタイル

BT