KEMBAR78
Daftar
Login
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2 | PDF
Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Yahoo!デベロッパーネットワーク
PDF, PPTX
8,461 views
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
JJUG CCC 2017 Spring 発表資料 http://www.java-users.jp/ccc2017spring/
Technology
◦
Read more
8
Save
Share
Embed
Download
Download as PDF, PPTX
1
/ 64
2
/ 64
3
/ 64
4
/ 64
5
/ 64
6
/ 64
7
/ 64
8
/ 64
9
/ 64
10
/ 64
11
/ 64
12
/ 64
13
/ 64
14
/ 64
15
/ 64
16
/ 64
17
/ 64
18
/ 64
19
/ 64
20
/ 64
21
/ 64
22
/ 64
23
/ 64
24
/ 64
25
/ 64
26
/ 64
27
/ 64
28
/ 64
29
/ 64
30
/ 64
31
/ 64
32
/ 64
33
/ 64
34
/ 64
35
/ 64
36
/ 64
37
/ 64
38
/ 64
39
/ 64
40
/ 64
41
/ 64
42
/ 64
43
/ 64
44
/ 64
45
/ 64
46
/ 64
47
/ 64
48
/ 64
49
/ 64
50
/ 64
51
/ 64
52
/ 64
53
/ 64
54
/ 64
55
/ 64
56
/ 64
57
/ 64
58
/ 64
59
/ 64
60
/ 64
61
/ 64
62
/ 64
63
/ 64
64
/ 64
More Related Content
PDF
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
by
Trainocate Japan, Ltd.
PDF
GraphQL入門 (AWS AppSync)
by
Amazon Web Services Japan
PDF
マルチテナント化で知っておきたいデータベースのこと
by
Amazon Web Services Japan
PDF
ストリーム処理を支えるキューイングシステムの選び方
by
Yoshiyasu SAEKI
PDF
20190806 AWS Black Belt Online Seminar AWS Glue
by
Amazon Web Services Japan
PPTX
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
by
NTT DATA Technology & Innovation
PDF
単なるキャッシュじゃないよ!?infinispanの紹介
by
AdvancedTechNight
PDF
AWSのログ管理ベストプラクティス
by
Akihiro Kuwano
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
by
Trainocate Japan, Ltd.
GraphQL入門 (AWS AppSync)
by
Amazon Web Services Japan
マルチテナント化で知っておきたいデータベースのこと
by
Amazon Web Services Japan
ストリーム処理を支えるキューイングシステムの選び方
by
Yoshiyasu SAEKI
20190806 AWS Black Belt Online Seminar AWS Glue
by
Amazon Web Services Japan
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
by
NTT DATA Technology & Innovation
単なるキャッシュじゃないよ!?infinispanの紹介
by
AdvancedTechNight
AWSのログ管理ベストプラクティス
by
Akihiro Kuwano
What's hot
PDF
REST API のコツ
by
pospome
PDF
20191001 AWS Black Belt Online Seminar AWS Lake Formation
by
Amazon Web Services Japan
PDF
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
by
NTT DATA OSS Professional Services
PDF
Infrastructure as Code (IaC) 談義 2022
by
Amazon Web Services Japan
PDF
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
by
Amazon Web Services Japan
PDF
20190514 AWS Black Belt Online Seminar Amazon API Gateway
by
Amazon Web Services Japan
PDF
KafkaとPulsar
by
Yahoo!デベロッパーネットワーク
PPTX
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
by
ShuheiUda
PDF
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
by
Amazon Web Services Japan
PDF
AWS Black Belt Online Seminar AWS Direct Connect
by
Amazon Web Services Japan
PDF
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
by
Amazon Web Services Japan
PPTX
脱RESTful API設計の提案
by
樽八 仲川
PDF
怖くないSpring Bootのオートコンフィグレーション
by
土岐 孝平
PDF
The Twelve-Factor Appで考えるAWSのサービス開発
by
Amazon Web Services Japan
PDF
20200630 AWS Black Belt Online Seminar Amazon Cognito
by
Amazon Web Services Japan
PDF
DockerとPodmanの比較
by
Akihiro Suda
PDF
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
by
Amazon Web Services Japan
PDF
噛み砕いてKafka Streams #kafkajp
by
Yahoo!デベロッパーネットワーク
PDF
Swagger ではない OpenAPI Specification 3.0 による API サーバー開発
by
Yahoo!デベロッパーネットワーク
PDF
20191023 AWS Black Belt Online Seminar Amazon EMR
by
Amazon Web Services Japan
REST API のコツ
by
pospome
20191001 AWS Black Belt Online Seminar AWS Lake Formation
by
Amazon Web Services Japan
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
by
NTT DATA OSS Professional Services
Infrastructure as Code (IaC) 談義 2022
by
Amazon Web Services Japan
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
by
Amazon Web Services Japan
20190514 AWS Black Belt Online Seminar Amazon API Gateway
by
Amazon Web Services Japan
KafkaとPulsar
by
Yahoo!デベロッパーネットワーク
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
by
ShuheiUda
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
by
Amazon Web Services Japan
AWS Black Belt Online Seminar AWS Direct Connect
by
Amazon Web Services Japan
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
by
Amazon Web Services Japan
脱RESTful API設計の提案
by
樽八 仲川
怖くないSpring Bootのオートコンフィグレーション
by
土岐 孝平
The Twelve-Factor Appで考えるAWSのサービス開発
by
Amazon Web Services Japan
20200630 AWS Black Belt Online Seminar Amazon Cognito
by
Amazon Web Services Japan
DockerとPodmanの比較
by
Akihiro Suda
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
by
Amazon Web Services Japan
噛み砕いてKafka Streams #kafkajp
by
Yahoo!デベロッパーネットワーク
Swagger ではない OpenAPI Specification 3.0 による API サーバー開発
by
Yahoo!デベロッパーネットワーク
20191023 AWS Black Belt Online Seminar Amazon EMR
by
Amazon Web Services Japan
Viewers also liked
PDF
Java libraries you can't afford to miss
by
Andres Almiray
PPTX
Kotlin is charming; The reasons Java engineers should start Kotlin.
by
JustSystems Corporation
PDF
VMの歩む道。 Dalvik、ART、そしてJava VM
by
yy yank
PPTX
U-NEXT学生インターン、過激なJavaの学び方と過激な要求
by
hajime funaki
PDF
2017spring jjug ccc_f2
by
Kazuhiro Wada
PPTX
Jjug ccc
by
Tanaka Yuichi
PDF
Arachne Unweaved (JP)
by
Ikuru Kanuma
PDF
Jjugccc2017spring-postgres-ccc_m1
by
Kosuke Kida
PDF
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
by
Works Applications
PDF
Polyglot on the JVM with Graal (English)
by
Logico
PPTX
新卒2年目から始めるOSSのススメ~明日からできるコミットデビュー~
by
Yoshio Kajikuri
PDF
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
by
JustSystems Corporation
PDF
日本Javaグループ2017年定期総会 #jjug
by
日本Javaユーザーグループ
PPTX
JJUG CCC 2017 Spring Seasar2からSpringへ移行した俺たちのアプリケーションがマイクロサービスアーキテクチャへ歩み始めた
by
Koichi Sakata
PPTX
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
by
Hiroshi Ito
PDF
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~
by
Hiroyuki Ohnaka
PDF
Introduction of Project Jigsaw
by
Yuichi Sakuraba
PPTX
グラフデータベース入門
by
Masaya Dake
PDF
思ったほど怖くない! Haskell on JVM 超入門 #jjug_ccc #ccc_l8
by
y_taka_23
PDF
Java8 コーディングベストプラクティス and NetBeansのメモリログから...
by
なおき きしだ
Java libraries you can't afford to miss
by
Andres Almiray
Kotlin is charming; The reasons Java engineers should start Kotlin.
by
JustSystems Corporation
VMの歩む道。 Dalvik、ART、そしてJava VM
by
yy yank
U-NEXT学生インターン、過激なJavaの学び方と過激な要求
by
hajime funaki
2017spring jjug ccc_f2
by
Kazuhiro Wada
Jjug ccc
by
Tanaka Yuichi
Arachne Unweaved (JP)
by
Ikuru Kanuma
Jjugccc2017spring-postgres-ccc_m1
by
Kosuke Kida
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
by
Works Applications
Polyglot on the JVM with Graal (English)
by
Logico
新卒2年目から始めるOSSのススメ~明日からできるコミットデビュー~
by
Yoshio Kajikuri
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
by
JustSystems Corporation
日本Javaグループ2017年定期総会 #jjug
by
日本Javaユーザーグループ
JJUG CCC 2017 Spring Seasar2からSpringへ移行した俺たちのアプリケーションがマイクロサービスアーキテクチャへ歩み始めた
by
Koichi Sakata
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
by
Hiroshi Ito
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~
by
Hiroyuki Ohnaka
Introduction of Project Jigsaw
by
Yuichi Sakuraba
グラフデータベース入門
by
Masaya Dake
思ったほど怖くない! Haskell on JVM 超入門 #jjug_ccc #ccc_l8
by
y_taka_23
Java8 コーディングベストプラクティス and NetBeansのメモリログから...
by
なおき きしだ
Similar to Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
PDF
Fast Data を扱うためのデザインパターン
by
MapR Technologies Japan
PDF
ストリーム処理プラットフォームにおけるKafka導入事例 #kafkajp
by
Yahoo!デベロッパーネットワーク
PDF
Kafka Summit NYCに見るストリーミングデータETLの話 #streamdatajp
by
Yahoo!デベロッパーネットワーク
PDF
20191120 AWS Black Belt Online Seminar Amazon Managed Streaming for Apache Ka...
by
Amazon Web Services Japan
PDF
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -
by
Yahoo!デベロッパーネットワーク
PDF
ストリーム処理はデータを失うから怖い?それ、何とかできますよ! 〜Apahe Kafkaを用いたストリーム処理における送達保証〜 (Open Source...
by
NTT DATA Technology & Innovation
PDF
Tour of Distributed Systems 3 - Apache Kafka
by
Chris Birchall
PDF
ESP32ではじめようIoTハンズオン-サーバーサイド.pdf
by
naoyuki miyata
PDF
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
by
Yahoo!デベロッパーネットワーク
PDF
Reactor Netty & Apache Kafka Stack #jsug
by
Yahoo!デベロッパーネットワーク
PDF
Reactive Kafka with Akka Streams
by
scalaconfjp
PPT
Hadoop~Yahoo! JAPANの活用について~
by
Yahoo!デベロッパーネットワーク
PDF
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
by
Sotaro Kimura
PPTX
Kafka vs Pulsar @KafkaMeetup_20180316
by
Nozomi Kurihara
PPTX
Kafkaを活用するためのストリーム処理の基本
by
Sotaro Kimura
PPT
Hadoop ~Yahoo! JAPANの活用について~
by
Yahoo!デベロッパーネットワーク
PDF
Akka stream
by
Masaki Toyoshima
PDF
IoT時代におけるストリームデータ処理と急成長の Apache Flink
by
Takanori Suzuki
PDF
Kafka Streamsによるスケーラブルで非環境依存なストリーム/バッチ処理アーキテクチャ
by
Kazuki Ogiwara
PPT
S4
by
あしたのオープンソース研究所
Fast Data を扱うためのデザインパターン
by
MapR Technologies Japan
ストリーム処理プラットフォームにおけるKafka導入事例 #kafkajp
by
Yahoo!デベロッパーネットワーク
Kafka Summit NYCに見るストリーミングデータETLの話 #streamdatajp
by
Yahoo!デベロッパーネットワーク
20191120 AWS Black Belt Online Seminar Amazon Managed Streaming for Apache Ka...
by
Amazon Web Services Japan
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -
by
Yahoo!デベロッパーネットワーク
ストリーム処理はデータを失うから怖い?それ、何とかできますよ! 〜Apahe Kafkaを用いたストリーム処理における送達保証〜 (Open Source...
by
NTT DATA Technology & Innovation
Tour of Distributed Systems 3 - Apache Kafka
by
Chris Birchall
ESP32ではじめようIoTハンズオン-サーバーサイド.pdf
by
naoyuki miyata
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
by
Yahoo!デベロッパーネットワーク
Reactor Netty & Apache Kafka Stack #jsug
by
Yahoo!デベロッパーネットワーク
Reactive Kafka with Akka Streams
by
scalaconfjp
Hadoop~Yahoo! JAPANの活用について~
by
Yahoo!デベロッパーネットワーク
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
by
Sotaro Kimura
Kafka vs Pulsar @KafkaMeetup_20180316
by
Nozomi Kurihara
Kafkaを活用するためのストリーム処理の基本
by
Sotaro Kimura
Hadoop ~Yahoo! JAPANの活用について~
by
Yahoo!デベロッパーネットワーク
Akka stream
by
Masaki Toyoshima
IoT時代におけるストリームデータ処理と急成長の Apache Flink
by
Takanori Suzuki
Kafka Streamsによるスケーラブルで非環境依存なストリーム/バッチ処理アーキテクチャ
by
Kazuki Ogiwara
S4
by
あしたのオープンソース研究所
More from Yahoo!デベロッパーネットワーク
PDF
ゼロから始める転移学習
by
Yahoo!デベロッパーネットワーク
PDF
継続的なモデルモニタリングを実現するKubernetes Operator
by
Yahoo!デベロッパーネットワーク
PDF
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
by
Yahoo!デベロッパーネットワーク
PDF
オンプレML基盤on Kubernetes パネルディスカッション
by
Yahoo!デベロッパーネットワーク
PDF
LakeTahoe
by
Yahoo!デベロッパーネットワーク
PDF
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
by
Yahoo!デベロッパーネットワーク
PDF
Persistent-memory-native Database High-availability Feature
by
Yahoo!デベロッパーネットワーク
PDF
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
by
Yahoo!デベロッパーネットワーク
PDF
eコマースと実店舗の相互利益を目指したデザイン #yjtc
by
Yahoo!デベロッパーネットワーク
PDF
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
by
Yahoo!デベロッパーネットワーク
PDF
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
by
Yahoo!デベロッパーネットワーク
PDF
ビッグデータから人々のムードを捉える #yjtc
by
Yahoo!デベロッパーネットワーク
PDF
サイエンス領域におけるMLOpsの取り組み #yjtc
by
Yahoo!デベロッパーネットワーク
PDF
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
by
Yahoo!デベロッパーネットワーク
PDF
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
by
Yahoo!デベロッパーネットワーク
PDF
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
by
Yahoo!デベロッパーネットワーク
PDF
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
by
Yahoo!デベロッパーネットワーク
PDF
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
by
Yahoo!デベロッパーネットワーク
PDF
「新しいおうち探し」のためのAIアシスト検索 #yjtc
by
Yahoo!デベロッパーネットワーク
PDF
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
by
Yahoo!デベロッパーネットワーク
ゼロから始める転移学習
by
Yahoo!デベロッパーネットワーク
継続的なモデルモニタリングを実現するKubernetes Operator
by
Yahoo!デベロッパーネットワーク
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
by
Yahoo!デベロッパーネットワーク
オンプレML基盤on Kubernetes パネルディスカッション
by
Yahoo!デベロッパーネットワーク
LakeTahoe
by
Yahoo!デベロッパーネットワーク
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
by
Yahoo!デベロッパーネットワーク
Persistent-memory-native Database High-availability Feature
by
Yahoo!デベロッパーネットワーク
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
by
Yahoo!デベロッパーネットワーク
eコマースと実店舗の相互利益を目指したデザイン #yjtc
by
Yahoo!デベロッパーネットワーク
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
by
Yahoo!デベロッパーネットワーク
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
by
Yahoo!デベロッパーネットワーク
ビッグデータから人々のムードを捉える #yjtc
by
Yahoo!デベロッパーネットワーク
サイエンス領域におけるMLOpsの取り組み #yjtc
by
Yahoo!デベロッパーネットワーク
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
by
Yahoo!デベロッパーネットワーク
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
by
Yahoo!デベロッパーネットワーク
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
by
Yahoo!デベロッパーネットワーク
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
by
Yahoo!デベロッパーネットワーク
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
by
Yahoo!デベロッパーネットワーク
「新しいおうち探し」のためのAIアシスト検索 #yjtc
by
Yahoo!デベロッパーネットワーク
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
by
Yahoo!デベロッパーネットワーク
Recently uploaded
PDF
FOSS4G Japan 2024 ハザードマップゲームの作り方 Hazard Map Game QGIS Plugin
by
Raymond Lay
PDF
技育祭2025秋 サボろうとする生成AIの傾向と対策 登壇資料(フューチャー渋川)
by
Yoshiki Shibukawa
PPTX
FOSS4G Japan 2025 - QGISでスムーズに地図を比較 - QMapCompareプラグインの紹介
by
Raymond Lay
PDF
FOSS4G Hokkaido - QFieldをランナーのために活用した - QField for runners
by
Raymond Lay
PDF
「似ているようで微妙に違う言葉」2025/10/17の勉強会で発表されたものです。
by
iPride Co., Ltd.
PPTX
How to buy a used computer and use it with Windows 11
by
Atomu Hidaka
PDF
DX人材育成 サービスデザインで実現する「巻き込み力」の育て方 by Graat
by
Graat(グラーツ)
PPTX
「Drupal SDCについて紹介」2025/10/17の勉強会で発表されたものです。
by
iPride Co., Ltd.
FOSS4G Japan 2024 ハザードマップゲームの作り方 Hazard Map Game QGIS Plugin
by
Raymond Lay
技育祭2025秋 サボろうとする生成AIの傾向と対策 登壇資料(フューチャー渋川)
by
Yoshiki Shibukawa
FOSS4G Japan 2025 - QGISでスムーズに地図を比較 - QMapCompareプラグインの紹介
by
Raymond Lay
FOSS4G Hokkaido - QFieldをランナーのために活用した - QField for runners
by
Raymond Lay
「似ているようで微妙に違う言葉」2025/10/17の勉強会で発表されたものです。
by
iPride Co., Ltd.
How to buy a used computer and use it with Windows 11
by
Atomu Hidaka
DX人材育成 サービスデザインで実現する「巻き込み力」の育て方 by Graat
by
Graat(グラーツ)
「Drupal SDCについて紹介」2025/10/17の勉強会で発表されたものです。
by
iPride Co., Ltd.
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
1.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. 2017年5月20日 1 ヤフー株式会社 データ&サイエンスソリューション統括本部 データプラットフォーム本部 開発4部 パイプライン 森谷 大輔 Java Clientで入門する Apache Kafka JJUG CCC 2017 Spring
2.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. 自己紹介 • 森谷 大輔 • インフラエンジニア • どちらかというとBEアプリケーション開発 • ヤフーのデータパイプラインをつくったり運用したり • 対外発表 • ストリーム処理プラットフォームにおけるKafka導入事例 (Apache Kafka Meetup Japan #1: 2016) • Hadoop Summit 2016 @San Jose ストリーム処理関連の報告 (Stream Processing Casual Talks #1: 2016) • Kafka 0.10.0アップデート プロダクション100ノードでやってみた (D&S Data Night vol.03: 2016) • 噛み砕いてKafka Streams (Apache Kafka Meetup Japan #2: 2016) • Elasticsearch 5.2とJava Clientで戯れる (第18回Elasticsearch勉強会: 2017) 2
3.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. ゴール(と注意) Kafkaをこれから始めたい、始めたばか りの人向けにKafkaの基本を実演ベース で押さえて帰ってもらう • ※既にガンガン使ってるぜという人は退屈 かも、でもちょっとはいい情報もあるかも • ※現行最新のバージョン0.10.2.0を前提 3
4.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. アジェンダ • Kafkaとは? • Kafkaの基本 • Java ClientでKafkaを体感する • まとめ 4
5.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. Kafkaとは? 5 時間を割きます
6.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. Apache Kafka スケーラブルな分散pub/sub型 メッセージングシステムを実現するために LinkedInが開発してOSS化した (2011年~) Apacheトップレベルプロジェクトで配布(2012年~) 6
7.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. 実績 7 https://kafka.apache.org/powered-by から一部を抜粋 Fortune 500の内 実に3分の1がKafkaを 利用しているらしい
8.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. Kafka Summit • Confluent, inc.が主催 • SF (2016/4, 2017/8), NY (2017/5) 8
9.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. ユーザ会 • Apache Kafka JP • https://kafka-apache-jp.connpass.com/ 9 https://kafka.apache.org/events
10.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. Apache Kafka スケーラブルな分散pub/sub型 メッセージングシステムを実現するために LinkedInが開発してOSS化した (2011年~) Apacheトップレベルプロジェクトで配布(2012年~) 10
11.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. publish/subscribeモデル 11 • Wikipediaには出版-購読型モデルとある • データの送受信のかたち • データの送信者(publisher)は受信者(subscriber)を気にしないでどんどん 送る • 受信者は送信者を気にせず自分のタイミングで取る publisher publisher publisher 仲介者 subscriber subscriber subscriber
12.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. publish/subscribeモデル 12 • つまりpublisherとsubscriberを非同期に分離した • もしPUSH, PUSHだとどんな問題がある? publisher publisher publisher 仲介者 subscriber subscriber subscriber PULLPUSH 疎結合化
13.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. 具体的にはなんの用途で使うの? 13 • 2つ • データパイプライン • ストリーム処理 と公式docのトップにもある
14.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. データパイプライン 14 Data Source Data Source Data Source RDBMS
15.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. データパイプライン 15 Data Source Data Source Data Source RDBMS Data Source ストリーム処理 Data Source Data Source
16.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. データパイプライン 16 Data Source Data Source Data Source RDBMS Data Source ストリーム処理 Data Source Data Source データレイク・・・ マイクロサービス・・・
17.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. データパイプライン 17 Data Source Data Source Data Source RDBMS Data Source ストリーム処理 Data Source Data Source
18.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. ストリーム(リアルタイム)処理 18 • 課題: このデイリーバッチが終わる明朝まで分析がで きないよ・・・ • ASAPの意思決定
19.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. ストリーム(リアルタイム)処理 19 • モジュールの日次クリック率推移を知りたい • モジュールのクリック率急増を知りたい • 遅延が多い路線を知りたい • 電車の遅延を知りたい • 2016年に話題になったツイートワードを知りたい • 今見ているテレビ番組のバズツイートワードを知りたい • ABテストの分析をしたい • 非常に悪い結果を出しているバケットテストをすぐに停止したい • マシンの故障率を知りたい • マシンが故障しそうになったら知りたい • ユーザの平均的な興味から広告を出したい • ユーザが今だけ興味を持っている広告を出したい 変化の通知が、実際に変化した点から時 間が経つに連れて価値が低下する 高価値 数秒〜10分 価値の低下 バッチ ストリーム
20.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. ストリーム(リアルタイム)処理 20 • ストリーミングデータ • 終わりがない、連続的に発生するデータ • を処理するためにはキューイングの機能が必要 • 類似:ActiveMQ, RabbitMQ, ZeroMQ, Redis • https://www.slideshare.net/laclefyoshi/ss-67658888
21.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. Kafkaは • データパイプラインをシンプルにする • ストリーミングデータを扱える を両方実現できるように設計された • 特徴 • バッチ・リアルタイム分析共にサポート • 受け取ったレコードは直ちに永続化 • スケーラビリティ • デイリー1兆4千万のレコードを捌く@LinkedIn • フォールトトレラント 21
22.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. Kafkaの基本 22
23.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. pub/sub 23 publisher publisher publisher 仲介者 subscriber subscriber subscriber
24.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. Kafkaを構成する4コンポーネント 24 Producer Producer Producer Broker Consumer Consumer Consumer ZooKeeper狭義にはこれだけを Kafkaと言うこともある
25.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved.25 • Producer • Consumer • Broker • ZooKeeper Kafkaを構成する4コンポーネント
26.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. ZooKeeper 26 • Apache ZooKeeper • 可用性と信頼性の高い分散コーディネーションシステム (詳細は割愛) • Hadoop等でも使われるOSS • Kafkaでは↓のために使われる • クラスタマネジメント • 死活管理 • ACL情報のストア
27.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. Message 27 Producer Producer Producer Broker Consumer Consumer Consumer ZooKeeper Message(=Record) • Kafka独自フォーマットのバイナリ • keyとvalueとtimestamp等のメタデータで構 成 • key, valueはユーザ任意の型
28.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. Topic 28 Producer Producer Producer Broker Consumer Consumer Consumer weblog purchase customer Topic • Messageストリームのラベル • ユーザが名付ける • Producerは1個か複数のtopicにMessageを投げ る
29.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. Partition 29 Producer weblog: partition purchase: partition • Topicはさらに負荷分散のた めにPartitionに分割される • Partition数はTopic毎にユー ザが決める • Partition数は増やせるが減ら せない weblog: partition purchase: partition weblog: partition purchase: partition
30.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. Producer: key partitioning 30 Producer weblog: partition purchase: partition weblog: partition purchase: partition weblog: partition purchase: partition • keyのハッシュ値から投入先 partitionを決定する • 同じkeyのMessageは同じ partitionに投入される • keyを指定しなければラウンド ロビン • またはpartition割り振りロジッ クをユーザがカスタマイズす る
31.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. Log 31 Producer weblog: partition purchase: partition weblog: partition purchase: partition weblog: partition purchase: partition • partitionは任意のディレクトリ パスにファイルとして永続化 される • これをLogという • 紛らわしいことにKafkaそのも ののシステムログも別に存在 する、がそれではない • 保持期間が指定できる
32.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. Consumer Group 32 Producer Broker Consumer Consumer Consumer purchase • グルーピングされたconsumerは他のconsumerを 気にせずtopicのMessageを漏れなく分散 consumeする group.id=shopping group.id=marketing
33.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. Offset 33 Consumer Consumer Consumer group.id=shopping group.id=marketing ということはConsumer Group毎に どこまで読んだかをConsumerが覚えている partition 0 0 1 2 partition 1 0 1
34.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. Offset 34 Consumer Consumer Consumer group.id=shopping group.id=marketing partition 0 0 1 2 partition 1 0 1 Offsetは一度決まったら変わらない • 「group.id=shoppingとしてtopic=purchaseのpartition=0のoffset=2まで読ん だ」 • この情報はKafkaの専用topicに書き込まれる
35.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. Java ClientでKafkaを体 感する 35
36.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. Java Client • Producer, Consumer APIとしてJava Client が公式に用意されている • しかし3rdパーティ製で他言語でも使える (C/C++, Go, Python等) • 特にConsumerはアプリケーションコードを書 くことが多い 36
37.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. Consumer Client • 特にConsumerはアプリケーションコードを書くことが 多い • よりハイレベルなAPIやフレームワークもある • Java Clientは最もローレベルなAPIともいえる 37 Kafka Streams
38.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. ハイレベルAPIがあるのにわざわざ ローレベルAPIの使い方を見る必要がある? ある • ハイレベルAPIを使いこなすのは簡単でない、Java Clientを把握 していることはハイレベルAPIを使いこなす上でとても有用 • フレームワークは構築から試すまでがかなり大変、ちょっとした アプリやテストならJava Clientが一番低コストだったり • ローレベルといっても直感的でないわけではない • (旧APIのSimpleConsumerさんとはわけが違う) 38
39.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. これから試すこと • Kafkaアプリケーションの全ての基本 • サンプルデータをProducerがBrokerにproduce する • ConsumerがBrokerからそのデータをconsume して確認する 39 Producer Broker Consumer k: null, v: “こんにちは世界” “こんにちは世界” ?
40.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. どうやって動作確認する? • Producer, Consumer, Broker, ZooKeeper 1. ZooKeeper, Kafkaを開発機にインストール 2. ZooKeeper daemonとBroker daemonを起動して 3. お試しProducerコードを書いてjarを配備して起動して 4. お試しConsumerコードを書いてjarを配備して起動して 40
41.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. 面倒! • フレームワークだともっと面倒 41
42.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. これがあれば一連の流れが試せる 4つの最低限コンポーネント • ZooKeeper: JVMで動く • Kafka Broker: JVMで動く • Kafka Producer: JVMで動く • Kafka Consumer: JVMで動く • Javaコードペラ一枚でできるのでは? 42
43.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. A. できる • つまりJUnit上で試せる • Kafkaアプリケーションを開発するときはこ の手を使ってテストすると良い • ConsumerがStormやKafka Streamsだった としても、それもJVMなので同じ手が使える 43
44.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. • ZooKeeperとBrokerをJavaコード上で起動する方法は公 式docのFAQにある • https://cwiki.apache.org/confluence/display/KAFKA/FAQ#FAQ-Unittesting • やや長いのでライブラリを作って一行くらいで起動できる ようにしておくと吉 • 今回はすみません、自作のものを使います • 使い勝手は違いますが基本やっていることはFAQと同じ 44
45.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. Java Client【とJUnit】 でKafkaを体感する (今度こそ) 45
46.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. これから試すこと(再掲) • Kafkaアプリケーションの全ての基本 • サンプルデータをProducerがBrokerにproduce する • ConsumerがBrokerからそのデータをconsume して確認する 46 Producer Broker Consumer k: null, v: “こんにちは世界” “こんにちは世界” ?
47.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. デモ1 • pom • テストコード • broker partitionの実体を見てみましょう • Producer, ConsumerのJavaDoc • https://kafka.apache.org/0102/javadoc/index.html?org/apache/kafka/clients/producer/KafkaProducer.html • https://kafka.apache.org/0102/javadoc/index.html?org/apache/kafka/clients/consumer/KafkaConsumer.html 47
48.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. Consumer Groupを体感する 48 Producer Broker Consumer test-topic group.id=B Consumer group.id=A • Aというgroup.idとBというgroup.idで同じ topicのMessageを読んでみる
49.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. デモ2 49
50.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. • 5件投げたら5件ずつ、合計10件読 めた • consumer group BをAに変えてもう 一回試すとどうなるか 50
51.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. デモ2.1 51
52.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. • 1スレッドだけが5件読んでもう1スレッドは働 かなかった • なぜかは後で • とりあえずconsumer groupを分ければ別とし て読めることがわかった 52
53.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. partitioningで負荷分散を体感する • topic毎にpartition数を指定できる • partition=1だとBroker nodeを何台増やしても拡張しない • 1partitionは1Consumerからしか読まれない • 1partitionを2Consumerから同時に読むことはできない、 2partitionなら可能 • さっき1スレッドだけが5件読んでもう1スレッドが働かな かった理由はそれ 53
54.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. デモ3 • partition数を2にしてさっきのコードを実行して みます • broker partitionの実体も変わっていることを確 認 54
55.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. 今回は同プロセス内スレッドで分散さ せたが、本番ではnode間で分散され ることになるはず 55
56.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. key partitioning • Aさんのログイン失敗が30分以内に5回以上を検知 • Kafka Consumerで実装した場合 56 partition 0 partition 1 partition 2 2回失敗 ? 2回失敗 ? 1回失敗 ?Consumer Consumer Consumer
57.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. こんなときに使える • keyでgroupingして集約したい • keyでストリームデータ同士をjoinしたい • uniqueKeyを入れてウィンドウで重複除 去したい 57
58.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. デモ4 • Aという文字列をkeyに入れてさっきの 2partitionに投げてみます • さっきは分散したが今回は? 58
59.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. デモ5 • 圧縮 • するとしないのとではネットワークトラフィック、 Brokerのディスク消費が大きく変わる • その代わりCPUを食う • gzip, snappy, lz4 • Consumerで読むときはなにで圧縮されたか気 にする必要は無い 59
60.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. マルチスレッド実装の注意点 • テストのためにConsumerはマルチスレッドで試してきた • 本番でも性能を出すために恐らくマルチスレッド実装する • KafkaProducerクラスはスレッドセーフ • KafkaConsumerクラスはスレッドセーフではない (※wakeupメソッドだけ例外) • Consumerオブジェクトをスレッド間で共有して操作すると ConcurrentModificationException • 各スレッドで作るようにすればOK 60
61.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. KafkaConsumer 0.10.2で使える便利メソッド紹介 61 返り値型 メソッド 機能、使いどころ void • commitSync() • commitSync(Map<TopicPartition, OffsetAndMetadata> offsets) • commitAsync(OffsetCommitCallback callback) Offsetのコミットを自動定期に任せない場合、自分でOffset コミットしたいタイミングを指定する。 特定のpartitionについて特定のOffsetでコミット、ということ もできる。 処理を含めてAt-least-onceを実現する場合は必須。 Map<TopicPar tition, OffsetAndTim estamp> • offsetsForTimes(Map<TopicPartition, Long> timestampsToSearch) 最近追加された強力な機能。 MessageのtimestampからOffsetを逆引きする。 下記のseekと合わせて使うことで何時何分のデータから何 時何分のデータを再度consumeし直すといったユースケー スを実現できる。 void • seek(TopicPartition partition, long offset) • seekToBeginning(Collection<TopicPartition> partitions) • seekToEnd(Collection<TopicPartition> partitions) 今読んでいるOffsetを途中で変える機能。 ほとんどのConsumerアプリケーションで稼働中に任意に Offsetを変えたい要望が出てくるので重要度が高いメソッド。 void • pause(Collection<TopicPartition> partitions) • resume(Collection<TopicPartition> partitions) 特定のpartitionのconsumeを一時停止したり再開させたり する。「今だけ特定のpartitionのconsumeに集中させたい」 といった要件を実現する。 便利だが実装がやや難しい。
62.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. まとめ 62
63.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. このセッションで • どんなときにKafkaを使うといいかわかった • Kafkaを試すために最低限必要なコンポーネントを覚えた • JUnitでKafkaを試せることがわかった • Java ClientでKafkaのpartitioning, Consumer Groupの機 能を体感した • マルチスレッドConsumerアプリケーションを書く上で最低 限注意すべきことがわかった 63
64.
Copyrig ht ©
2017 Yahoo Japan Corporation. All Rig hts Reserved. Kafka Meetup JP #3 7/6(木)開催 64 以下connpassで案内予定 https://kafka-apache-jp.connpass.com/ 会場は LODGE@ヤフー
Download