Enviar búsqueda
Cargar
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
•
19 recomendaciones
•
13,654 vistas
matsu_chara
Seguir
@matsu_chara 2016/5/31 Apache Kafka Meetup Japan #1 at Yahoo! JAPAN
Leer menos
Leer más
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 39
Descargar ahora
Descargar para leer sin conexión
Recomendados
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
NTT DATA Technology & Innovation
Yahoo! JAPANのデータパイプラインで起きた障害とチューニング - Apache Kafka Meetup Japan #5 -
Yahoo! JAPANのデータパイプラインで起きた障害とチューニング - Apache Kafka Meetup Japan #5 -
Yahoo!デベロッパーネットワーク
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
Akihiko Horiuchi
マイクロサービスにおける 結果整合性との戦い
マイクロサービスにおける 結果整合性との戦い
ota42y
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
Amazon Web Services Japan
AWS で Presto を徹底的に使いこなすワザ
AWS で Presto を徹底的に使いこなすワザ
Noritaka Sekiyama
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache Flink
Takanori Suzuki
Recomendados
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
NTT DATA Technology & Innovation
Yahoo! JAPANのデータパイプラインで起きた障害とチューニング - Apache Kafka Meetup Japan #5 -
Yahoo! JAPANのデータパイプラインで起きた障害とチューニング - Apache Kafka Meetup Japan #5 -
Yahoo!デベロッパーネットワーク
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
Akihiko Horiuchi
マイクロサービスにおける 結果整合性との戦い
マイクロサービスにおける 結果整合性との戦い
ota42y
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
Amazon Web Services Japan
AWS で Presto を徹底的に使いこなすワザ
AWS で Presto を徹底的に使いこなすワザ
Noritaka Sekiyama
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache Flink
Takanori Suzuki
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
[AKIBA.AWS] EC2の基礎 - パフォーマンスを100%引き出すオプション設定 -
[AKIBA.AWS] EC2の基礎 - パフォーマンスを100%引き出すオプション設定 -
Shuji Kikuchi
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
Kafkaを活用するためのストリーム処理の基本
Kafkaを活用するためのストリーム処理の基本
Sotaro Kimura
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
NTT DATA OSS Professional Services
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
Preferred Networks
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Noritaka Sekiyama
JVMのGCアルゴリズムとチューニング
JVMのGCアルゴリズムとチューニング
佑哉 廣岡
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り
Sotaro Kimura
なぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのか
Yusuke Suzuki
Aws amplify studioが変えるフロントエンド開発の未来とは v2
Aws amplify studioが変えるフロントエンド開発の未来とは v2
Koitabashi Yoshitaka
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
Yoshiyasu SAEKI
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTT DATA Technology & Innovation
CircleCI vs. CodePipeline
CircleCI vs. CodePipeline
HonMarkHunt
リクルートライフスタイルの考えるストリームデータの活かし方(Hadoop Spark Conference2016)
リクルートライフスタイルの考えるストリームデータの活かし方(Hadoop Spark Conference2016)
Atsushi Kurumada
KafkaとAWS Kinesisの比較
KafkaとAWS Kinesisの比較
Yoshiyasu SAEKI
Más contenido relacionado
La actualidad más candente
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
[AKIBA.AWS] EC2の基礎 - パフォーマンスを100%引き出すオプション設定 -
[AKIBA.AWS] EC2の基礎 - パフォーマンスを100%引き出すオプション設定 -
Shuji Kikuchi
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
Kafkaを活用するためのストリーム処理の基本
Kafkaを活用するためのストリーム処理の基本
Sotaro Kimura
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
NTT DATA OSS Professional Services
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
Preferred Networks
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Noritaka Sekiyama
JVMのGCアルゴリズムとチューニング
JVMのGCアルゴリズムとチューニング
佑哉 廣岡
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り
Sotaro Kimura
なぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのか
Yusuke Suzuki
Aws amplify studioが変えるフロントエンド開発の未来とは v2
Aws amplify studioが変えるフロントエンド開発の未来とは v2
Koitabashi Yoshitaka
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
Yoshiyasu SAEKI
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTT DATA Technology & Innovation
CircleCI vs. CodePipeline
CircleCI vs. CodePipeline
HonMarkHunt
La actualidad más candente
(20)
DockerとPodmanの比較
DockerとPodmanの比較
分散システムについて語らせてくれ
分散システムについて語らせてくれ
[AKIBA.AWS] EC2の基礎 - パフォーマンスを100%引き出すオプション設定 -
[AKIBA.AWS] EC2の基礎 - パフォーマンスを100%引き出すオプション設定 -
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Kafkaを活用するためのストリーム処理の基本
Kafkaを活用するためのストリーム処理の基本
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
JVMのGCアルゴリズムとチューニング
JVMのGCアルゴリズムとチューニング
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Docker Compose 徹底解説
Docker Compose 徹底解説
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り
なぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのか
Aws amplify studioが変えるフロントエンド開発の未来とは v2
Aws amplify studioが変えるフロントエンド開発の未来とは v2
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
CircleCI vs. CodePipeline
CircleCI vs. CodePipeline
Destacado
リクルートライフスタイルの考えるストリームデータの活かし方(Hadoop Spark Conference2016)
リクルートライフスタイルの考えるストリームデータの活かし方(Hadoop Spark Conference2016)
Atsushi Kurumada
KafkaとAWS Kinesisの比較
KafkaとAWS Kinesisの比較
Yoshiyasu SAEKI
Treasure Data and AWS - Developers.io 2015
Treasure Data and AWS - Developers.io 2015
N Masahiro
Developers Summit 2014 「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」
Developers Summit 2014 「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」
Yoshimura Soichiro
Kafkaによるリアルタイム処理
Kafkaによるリアルタイム処理
Naoki Yanai
Fluentd v0.12 master guide
Fluentd v0.12 master guide
N Masahiro
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」 #jjug_ccc #ccc_f3
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」 #jjug_ccc #ccc_f3
日本Javaユーザーグループ
Top 5 Deep Learning and AI Stories - October 6, 2017
Top 5 Deep Learning and AI Stories - October 6, 2017
NVIDIA
Destacado
(8)
リクルートライフスタイルの考えるストリームデータの活かし方(Hadoop Spark Conference2016)
リクルートライフスタイルの考えるストリームデータの活かし方(Hadoop Spark Conference2016)
KafkaとAWS Kinesisの比較
KafkaとAWS Kinesisの比較
Treasure Data and AWS - Developers.io 2015
Treasure Data and AWS - Developers.io 2015
Developers Summit 2014 「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」
Developers Summit 2014 「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」
Kafkaによるリアルタイム処理
Kafkaによるリアルタイム処理
Fluentd v0.12 master guide
Fluentd v0.12 master guide
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」 #jjug_ccc #ccc_f3
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」 #jjug_ccc #ccc_f3
Top 5 Deep Learning and AI Stories - October 6, 2017
Top 5 Deep Learning and AI Stories - October 6, 2017
Similar a Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
Sotaro Kimura
Spark Structured StreamingでKafkaクラスタのデータをお手軽活用
Spark Structured StreamingでKafkaクラスタのデータをお手軽活用
Sotaro Kimura
Reactive Kafka with Akka Streams
Reactive Kafka with Akka Streams
scalaconfjp
Kafka vs Pulsar @KafkaMeetup_20180316
Kafka vs Pulsar @KafkaMeetup_20180316
Nozomi Kurihara
Akka meetup 2014_sep
Akka meetup 2014_sep
masahitojp
恐るべきApache, Web勉強会@福岡
恐るべきApache, Web勉強会@福岡
Aya Komuro
MessagePack RPC によるドキドキ非同期通信 @関ジャバ 2012年度8月
MessagePack RPC によるドキドキ非同期通信 @関ジャバ 2012年度8月
Takashi Someda
噛み砕いてKafka Streams #kafkajp
噛み砕いてKafka Streams #kafkajp
Yahoo!デベロッパーネットワーク
Kafka logをオブジェクトストレージに連携する方法まとめ
Kafka logをオブジェクトストレージに連携する方法まとめ
Keigo Suda
並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門
Yoshimura Soichiro
Mackerelによる 簡単サーバー管理入門と発展形
Mackerelによる 簡単サーバー管理入門と発展形
Shinji Tanaka
chat bot framework for Java8
chat bot framework for Java8
masahitojp
Apache Sparkを利用した「つぶやきビッグデータ」クローンとリコメンドシステムの構築
Apache Sparkを利用した「つぶやきビッグデータ」クローンとリコメンドシステムの構築
Junichi Noda
Kafka Streamsによるスケーラブルで非環境依存なストリーム/バッチ処理アーキテクチャ
Kafka Streamsによるスケーラブルで非環境依存なストリーム/バッチ処理アーキテクチャ
Kazuki Ogiwara
Jjug springセッション
Jjug springセッション
Yuichi Hasegawa
Cloud Foundry Container-to-Container Networking
Cloud Foundry Container-to-Container Networking
Kazuto Kusama
Apache Kafkaでの大量データ処理がKubernetesで簡単にできて嬉しかった話
Apache Kafkaでの大量データ処理がKubernetesで簡単にできて嬉しかった話
MicroAd, Inc.(Engineer)
とりあえず使えるSBT
とりあえず使えるSBT
Kiyotaka Kunihira
Scalaの現状と課題
Scalaの現状と課題
Kota Mizushima
Apache EventMesh を使ってみた
Apache EventMesh を使ってみた
Yoshiyasu SAEKI
Similar a Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
(20)
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
Spark Structured StreamingでKafkaクラスタのデータをお手軽活用
Spark Structured StreamingでKafkaクラスタのデータをお手軽活用
Reactive Kafka with Akka Streams
Reactive Kafka with Akka Streams
Kafka vs Pulsar @KafkaMeetup_20180316
Kafka vs Pulsar @KafkaMeetup_20180316
Akka meetup 2014_sep
Akka meetup 2014_sep
恐るべきApache, Web勉強会@福岡
恐るべきApache, Web勉強会@福岡
MessagePack RPC によるドキドキ非同期通信 @関ジャバ 2012年度8月
MessagePack RPC によるドキドキ非同期通信 @関ジャバ 2012年度8月
噛み砕いてKafka Streams #kafkajp
噛み砕いてKafka Streams #kafkajp
Kafka logをオブジェクトストレージに連携する方法まとめ
Kafka logをオブジェクトストレージに連携する方法まとめ
並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門
Mackerelによる 簡単サーバー管理入門と発展形
Mackerelによる 簡単サーバー管理入門と発展形
chat bot framework for Java8
chat bot framework for Java8
Apache Sparkを利用した「つぶやきビッグデータ」クローンとリコメンドシステムの構築
Apache Sparkを利用した「つぶやきビッグデータ」クローンとリコメンドシステムの構築
Kafka Streamsによるスケーラブルで非環境依存なストリーム/バッチ処理アーキテクチャ
Kafka Streamsによるスケーラブルで非環境依存なストリーム/バッチ処理アーキテクチャ
Jjug springセッション
Jjug springセッション
Cloud Foundry Container-to-Container Networking
Cloud Foundry Container-to-Container Networking
Apache Kafkaでの大量データ処理がKubernetesで簡単にできて嬉しかった話
Apache Kafkaでの大量データ処理がKubernetesで簡単にできて嬉しかった話
とりあえず使えるSBT
とりあえず使えるSBT
Scalaの現状と課題
Scalaの現状と課題
Apache EventMesh を使ってみた
Apache EventMesh を使ってみた
Último
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
osamut
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
sugiuralab
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Atomu Hidaka
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
sugiuralab
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Shota Ito
Último
(8)
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
1.
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集 @matsu_chara 2016/5/31 Apache
Kafka Meetup Japan #1 at Yahoo! JAPAN
2.
今日のスライド http://www.slideshare.net/matsu_chara/kafka-part2
3.
part1のスライド http://xuwei-k.github.io/slides/kafka-matsuri/#1
4.
自己紹介 • @matsu_chara • Ponylang非公式エバンジェリスト活動 •
Scala新卒研修用テキスト
5.
話すこと • Kafkaを使ったイベントハブについて • イベントハブとしてのKafka •
現在のシステム構成 • Kafkaの設定 • Kafka運用時辛かった事例 • TopicとPartition数増大による性能劣化 • FullGC発生によるPublish失敗 • Raidコントローラエラー発生事件
6.
• 利用用途の違いでKafkaのチューニングは どう変わるのか • 運用・性能面で困ったことを共有 話すこと
7.
Kafkaを使ったEventHubについて
8.
よくあるKafkaの使われ方 • ユーザーアクティビティログ・メトリクスの集約 => availability重視 •
イベントハブ(受け取ったデータをロストしないこと が最重要) => durabilityを重視
9.
よくあるKafkaの使われ方 • ユーザーアクティビティログ・メトリクスの集約 => availability重視 •
イベントハブ(受け取ったデータをロストしないこと が最重要) => durabilityを重視
10.
イベントハブとしてのKafka • 社内システム連携・メッセージングのための基盤
11.
イベントハブとしてのKafka • 社内システム連携・メッセージングのための基盤 サービス ニコ動/ニコ生とか Publisher 別システム 別サービスなど Subscriber
12.
イベントハブとしてのKafka • Publisherが直接1:Nで配信するのは大変 • 様々な温かみが生まれた歴史… •
各種サービスから情報を集約したいチームが出てきた 時に対応するコスト • 性能を各サービスでスケールさせるコスト
13.
イベントハブとしてのKafka • 社内システム連携・メッセージングのための基盤 サービス ニコ動/ニコ生など Publisher 他サービス メール通知など Subscriber
14.
イベントハブとしてのKafka • Kafkaを中心にしてデータを集約 • Kafkaのスケーラビリティにより、色々なサービスが情報 をsubscribe可能になる •
publisherのシステム的な都合にsubscriberが影響さ れない(密結合を防ぐ)
15.
現在のシステム • Scala/Play/akka • 運用開始から半年ちょっと •
Kafka 0.9(クラスタは一つ。まだあまり大きくない)
16.
現在のシステム • HTTPでイベントを受け取りKafkaへpublish • KafkaからsubscribeしHTTP/AMQPで通知 HTTP AMQP HTTP
17.
Protocol Buffers on
Kafka • イベントのシリアライザは • 社内システム間連携の基盤として、メッセージの 互換性を保障・調整する役割も担いたい • 互換性維持のやりやすさを考慮して採用 • grpcも併せて社内のデータ交換形式の統一をし ていきたい
18.
Kafkaの設定 • データを失わないことを重視 • Netflixの事例と方向性が異なる 項目名
default値 Netflix 設定値 acks 1 1 all replication.factor - 2 3 min.insync.replica 1 ? 2
19.
Kafkaの設定 その他の設定はpart1で紹介。 もっとチューニングしたいけど機能追加の兼ね合いがあるので隙を見てやっ ていきたい もっと詳細な情報 http://xuwei-k.github.io/slides/ kafka-matsuri/#34 clouderaの資料 http://www.cloudera.com/ documentation/kafka/latest/topics/ kafka_ha.html
20.
Kafka運用辛かった事例
21.
TopicAndPartition増大による 性能劣化 • partitionが増えるとPublish完了までの時間が悪化 • replication
factorにも依存 • レプリケーションが主な原因のようなので num.replica.fetchers などをチューニングする
22.
TopicAndPartition増大による 性能劣化 topicをたくさん作り、1topicにのみ100万件publishしたときのqps • グラフはHDDで計測したもの。SSDでも傾向自体は変化なし。 0 2000
4000 6000 8000 0100002000030000400005000060000 TopicAndPartiton qps
23.
TopicAndPartition増大による 性能劣化 • 現在はイベント頻度が高すぎないものに関しては partition数を1にして対処(必要に応じて増やす) • partition数の目安は1brokerあたり (100
* broker台数 * replication factor) 程度? (記事参照) 詳細 http://www.confluent.io/blog/how-to- choose-the-number-of-topicspartitions- in-a-kafka-cluster/
24.
TopicAndPartition増大による 性能劣化 • Netflixも抑えているが、そちらは可用性に関するチューニング? • 故障時のオーバーヘッドを減らす 企業
目安 参考元 confluent 2000~4000 partitions/broker 10K~ partitions/cluster http://www.confluent.io/blog/ how-to-choose-the-number-of- topicspartitions-in-a-kafka- cluster/ Netflix 200 broker/cluster 以下 10K partition/custer 以下 http://techblog.netflix.com/ 2016/04/kafka-inside- keystone-pipeline.html
25.
FullGC発生によるPublish失敗 • 負荷試験中に発生。 • メッセージサイズによる。(Kafka的には1KB程度が最も 性能がでてGCにも優しいらしい) •
Javaパフォーマンスに書いてあるようなことをひたすら やっていく。 clouderaの資料 http://www.cloudera.com/documentation/kafka/latest/ topics/kafka_performance.html 実際にやったチューニング http://xuwei-k.github.io/slides/kafka-matsuri/ #61
26.
RAIDコントローラエラー発生事件 • 突然Kafkaへのpublishがタイムアウトし始める • ログを見るとRAIDコントローラが再起動していた •
RAIDコントローラ再起動後のbrokerは正常に動作 • 最近の出来事で調査・対策の方針がまだ立ってい ない
27.
RAIDコントローラエラー発生事件 Event
28.
RAIDコントローラエラー発生事件 RAIDコントローラに 異常発生
29.
RAIDコントローラエラー発生事件 想定 RAIDコントローラに 異常発生
30.
RAIDコントローラエラー発生事件 in-sync replicaから離脱 想定
31.
RAIDコントローラエラー発生事件 残った2台でack 想定
32.
RAIDコントローラエラー発生事件 in-sync replicaのまま 現実
33.
RAIDコントローラエラー発生事件 in-sync replicaのまま 現実 acks=allを待って タイムアウト
34.
RAIDコントローラエラー発生事件 現実 しばらく経った後 RAIDコントローラ 再起動
35.
RAIDコントローラエラー発生事件 現実 3台でack しばらく経った後 RAIDコントローラ 再起動
36.
RAIDコントローラエラー発生事件 • min.insync.replica=2なので1台落ちてもpublish できるという想定だった。 • しかし「brokerがackを返せない状態」で「クラスタ から離脱しなかった」ため、「acks=all」の設定により publishできなかったと思われる •
brokerはzookeeperのハートビートには応答するが、 ackは返せないという状態になりうる?
37.
RAIDコントローラエラー発生事件 • acks=2はkafka 0.9からは出来なくなっている •
RAIDを使わない方針も考えられる? • RAID以外のエラーでも同じような現象は起きうる のか? • 自動で離脱しないなら、brokerを停止させる外部 機構が必要?
38.
RAIDコントローラエラー発生事件 • Netflixのようにcold standbyなクラスタを用意 するのはどうなのか、調子の悪いbrokerを停止さ せるだけでは不十分? •
再現できていないので仮説ベースな部分あり • 意見募集
39.
まとめ • 事例紹介 • 用途の違いを意識したチューニングが必要になる •
Netflixのようなavailabilityを重視 • イベントバスとしてdurabilityを重視 • 運用トラブルが起きる前に、confluent/linkedin/clouderaなど の資料は一通り目を通しておくと後悔が少ない。 • 実際の運用時の環境を想定した負荷試験をしてみる
Descargar ahora