Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
How Plumbr uses Kafka
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Nikita Salnikov-Tarnovski
February 04, 2018
Programming
0
110
How Plumbr uses Kafka
Nikita Salnikov-Tarnovski
February 04, 2018
Tweet
Share
More Decks by Nikita Salnikov-Tarnovski
See All by Nikita Salnikov-Tarnovski
Project clarity - random rant from an old engineer
nikem
0
95
Introduction to Druid
nikem
0
870
Deceived by monitoring
nikem
0
73
10% Happier
nikem
0
76
Where is my memory
nikem
0
470
Heap, off you go
nikem
0
1.2k
First steps in GC tuning
nikem
0
1.6k
I bet you have a memory leak
nikem
1
170
Plumbing Memory Leaks
nikem
1
150
Other Decks in Programming
See All in Programming
ふつうのRubyist、ちいさなデバイス、大きな一年 / Ordinary Rubyists, Tiny Devices, Big Year
chobishiba
1
430
nuget-server - あなたが必要だったNuGetサーバー
kekyo
PRO
0
230
手戻りゼロ? Spec Driven Developmentとは@KAG AI week
tmhirai
1
190
Rで始めるML・LLM活用入門
wakamatsu_takumu
0
170
AHC061解説
shun_pi
0
360
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
400
エンジニアの「手元の自動化」を加速するn8n 2026.02.27
symy2co
0
140
API Platformを活用したPHPによる本格的なWeb API開発 / api-platform-book-intro
ttskch
1
130
AWS Infrastructure as Code の新機能 2025 総まとめ 〜SA 4人による怒涛のデモ祭り〜
konokenj
10
3.3k
encoding/json/v2のUnmarshalはこう変わった:内部実装で見る設計改善
kurakura0916
0
400
Go 1.26でのsliceのメモリアロケーション最適化 / Go 1.26 リリースパーティ #go126party
mazrean
1
380
Claude Code の Skill で複雑な既存仕様をすっきり整理しよう
yuichirokato
1
360
Featured
See All Featured
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.1k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
690
Making the Leap to Tech Lead
cromwellryan
135
9.8k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
170
Documentation Writing (for coders)
carmenintech
77
5.3k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
90
GraphQLとの向き合い方2022年版
quramy
50
14k
Six Lessons from altMBA
skipperchong
29
4.2k
Unsuck your backbone
ammeep
672
58k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Information Architects: The Missing Link in Design Systems
soysaucechin
0
820
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.4k
Transcript
Eating Kafka Nikita Salnikov-Tarnovski @iNikem
Intro to Kafka
What is Kafka • Distributed streaming platform • It lets
you publish and subscribe to streams of records • It lets you store streams of records in a fault-tolerant way.
What is Kafka • Kafka runs as a cluster on
one or more servers. • The Kafka cluster stores streams of records in categories called topics. • Each record consists of a key, a value, and a timestamp.
Four APIs http://kafka.apache.org/documentation/
Append log http://kafka.apache.org/documentation/
Brokers • Several brokers form a cluster • Coordinated with
Zookeeper • All partitions are distributed among brokers
Producers • Producer sends record to a topic • Based
on a key, partition is chosen • Leader broker is found • Wait for requested acks
Fast writes • Brokers cheat and don’t write to disk
• They write to disk cache • And let OS care about flushing to disk
Replication • Each topic can be replicated among brokers •
So for each partition there are X copies • Brokers just consume messages from leader
Consumer groups (c) Confluent
Consumer rebalance (c) Confluent
Commit • Consumer has to commit offsets he consumed •
You have to decide, when and how!
Delivery semantics • At least once • At most once
• Exactly once
Kafka Connect • Off-the-shelf solution to pipe data to or
from Kafka • E.g. DB, Elasticsearch, files, etc…
Kafka Streams • DSL and platform for writing data processing
streams • If you squint enough, very similar to Java8 streams and Fork-Join pool • But across multiple jvms and servers
Kafka in Plumbr
Kafka cluster • 5 brokers • 2x replication • 20T
data for last 90 days • Inflow ~125G per day
Data processing pipeline
Spring Cloud Stream • Greatly simplifies development of Kafka based
apps • Couple of annotations and data flows :)
Solving performance problems is hard. We don’t think it needs
to be. @JavaPlumbr/@iNikem http://plumbr.eu