Platform Team の Repro Core という Unit に所属している村上と申します。 Repro Core の役割の 1 つとして、共通基盤となる Kafka Streams アプリケーションの運用があります。 この共通基盤は Repro の大量トラフィックを捌いている基盤になるため、日々の運用の中で様々な課題に直面します。 今回はそのような課題の中から、tombstone によって State Store のパフォーマンスが低下し、その解決策として RocksDB のパラメータを調整した話をします。 前半部分では tombstone によって State Store のパフォーマンスが低下した件を説明します。後半は RocksDB の compaction の挙動確認とそのパラメータ調整について説明します。 ちなみに、私が所属している Repro Core については、
LINEのKafkaチームでは、1兆件/day以上のメッセージを取り扱う世界最大規模のKafkaクラスタを運用しています。 我々がこれまでに直面したパフォーマンスに関連した問題の内、最も典型的なのはJVMのあるスレッドが何かしらの理由によりブロックしてしまう、ということに起因しています。 時には、あるアプリケーションスレッドがI/Oの完了を待つ間ブロックしていた、というような単純なものですが、場合によっては、safepoint中に行われた意図しないI/Oや、それに関連したlock競合によりJVM全体がブロックされ、所謂STW(Stop-the-World)になってしまうケースもありました。 そのような問題を数多く経験した後、JBM - JVM Blocking Monitor (https://github.com/kawamuray/jbm) というツールを開発するに至りました。 JBM
Kafka Streams is a java library used for analyzing and processing data stored in Apache Kafka. As with any other stream processing framework, it’s capable of doing stateful and/or stateless processing on real-time data. It’s built on top of native Kafka consumer/producer protocols and is subject to the same advantages and disadvantages of the Kafka client libraries. In this post I’ll try to descri
最近、仕事で分散ストリーム処理に手を出していて、その基盤としてApache KafkaとKafka Streamsを使うことにしたので、動作概要とストリーム処理のイメージについてまとめておく。 kafkaそのものについては今更説明の必要は無いだろうと思う。 Kafka Streamsはkafkaを基盤にして分散ストリーム処理を簡単に書くためのDSLライブラリ。 https://kafka.apache.org/documentation/streams/ 延々流れてくるデータを変換して別のtopicに流したり、時間のウインドウを区切ってカウントした結果を流したり、みたいなのがサクっと書ける。 Apache Flinkなんかと似た様なことができる。 Kafka Streamsが良いのは以下の点。 ただのConsumer/Producerのラッパーなのでfat-jarファイル一つで簡単に動かせ
LINEの大規模データパイプラインを支える、Apache Kafkaプラットフォームの運用の裏側 Multi-Tenancy Kafka cluster for LINE services with 250 billion daily messages 2018年11月21日、LINE株式会社が主催するエンジニア向け技術カンファレンス「LINE DEVELOPER DAY 2018」が開催されました。4度目の開催となる今回のテーマは「Next LINE」。メッセージアプリだけでなく、さまざまなサービスの開発や新たな技術領域への投資を行っているLINEが目指すビジョンについて、エンジニアたちの技術的知見や挑戦を通して紹介します。セッション「Multi-Tenancy Kafka cluster for LINE services with 250 billion daily messages
Apache Kafka becoming the message bus to transfer huge volumes of data from various sources into Hadoop. It's also enabling many real-time system frameworks and use cases. Managing and building clients around Apache Kafka can be challenging. In this talk, we will go through the best practices in deploying Apache Kafka in production. How to Secure a Kafka Cluster, How to pick topic-partitions and u
メッセージキュー について書いている連載の続きとして、今週末は分散型メッセージングを実行するための様々なライブラリを詳細に分析していきたいと思います。今回の分析では、APIの特性、デプロイメントやメンテナンスの容易さ、そしてパフォーマンスの質を含めて2、3種類の異なる側面に着目します。メッセージキューは2つのグループに分類できます。ブローカレス(brokerless)とブローカード(brokered)です。ブローカードなキューはエンドポイント間に何かしらのサーバを挟んでいますが、ブローカレスなメッセージキューは、メッセージ送信の際でも間に何も挾まないP2Pです。 今回分析するのは以下のシステムです。 ブローカレス nanomsg ZeroMQ ブローカード ActiveMQ gnatsd Kafka Kestrel NATS NSQ RabbitMQ Redis 取り掛かりとして、ほぼ間違
ビッグデータのリアルタイム処理技術勉強会 http://futureofdata.connpass.com/event/40077/ 発表資料Read less
Rakuten has been running an internal Platform-as-a-Service (PaaS) for over 4 years. Rakuten application teams use our PaaS not only for testing but also for running production scale services. Because of the power of PaaS, we’ve been enabling them great productivity. For example, they can release their application and scale them out horizontally when needed using a single command. We use Cloud Foun
Apache kafka 最近仕事でApache Kafkaの導入を進めている.Kafkaとは何か? どこで使われているのか? どのような理由で作られたのか? どのように動作するのか(特にメッセージの読み出しについて)? を簡単にまとめておく(メッセージングはまだまだ勉強中なのでおかしなところがあればツッコミをいただければ幸いです). バージョンは 0.8.2 を対象に書いている. Apache Kafkaとは? 2011年にLinkedInから公開されたオープンソースの分散メッセージングシステムである.Kafkaはウェブサービスなどから発せられる大容量のデータ(e.g., ログやイベント)を高スループット/低レイテンシに収集/配信することを目的に開発されている.公式のトップページに掲載されているセールスポイントは以下の4つ. Fast とにかく大量のメッセージを扱うことができる Scal
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く