Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Yüksek Performanslı
Dağıtık
Mesajlaşma Sistemi
Emre Akış
@akisemre
Özet
• Neden Apache Kafka kullanalım ?
• Aslında nedir?
• Nasıl çalışır ?
• Ekosistem
1
Büyük Veri (Big Data)
• Bir bilgisayara sığmayan veri
• Dağıtık sistemlere hoş geldiniz 
2
Gerçek Zamanlı Veri Analitiği
• Olaylar (Events) (örn: “clickstream”ler)
• Sensörler
• Şeylerin interneti (Internet of Thi...
Mesajlaşma Kuyruğu
4
FIFO – İlk giren ilk çıkar
Dağıtık Mesajlaşma Kuyruğu
• Ölçeklenebilir
• Güvenilir
• Yüksek performans (okumada,yazmada)
5
Neden Apache Kafka Kullanalım ?
• Temiz ve basit mimari
• Kullanımı kolay
• Kurulması kolay
• Yüksek performans
• Ölçeklen...
Küme (Cluster)
7
Dil bağımsız
TCP protokolü
Küme => grup halindeki sunucular (brokerlar)
Konu (Topic)
8
• Mesajların gönderildiği kategori ismi
• Bölümlendirilmiş log
• Her bölüm
– Sıralı
– Değişmez sıralı
– Son...
Bölüm Dağılımı (Partition Distribution)
• Küme içindeki sunucular arasında dağıtılmış
• Hata toleransı için kopyalanmış (a...
Üretici (Producer)
• Hangi mesaj hangi bölüme karar verir
– Round-robin
– Semantik bölümleme (semantic partitioning)
10
Tüketici (Consumer)
• Queue vs. Publish/Subscribe
• Geleneksel kuyruk sıralama vs. bölüm başına
sıralama
11
Garantiler
• Bir bölümdeki mesajlar, üreticinin gönderdiği
sıradadır.
• Tüketiciler mesajları logdaki kayıt sırasında
okur...
İstemciler
• Java
• Python
• Ruby
• Go
• C/C++
• .NET
• Clojure
• Node.js
• Scala
• JRuby
• Perl
• Erlang
• PHP
• Rust
• H...
Ekosistem
• Samza
• Spark Streaming
• Storm
• Flink
• Kafka Streams
14https://cwiki.apache.org/confluence/display/KAFKA/Ec...
Eski Sistem
15
Clickstream Tampon Yazma
Toplayıcı Uygulama
İstemci-1
İstemci-2
Okuma
Okuma
Yeni Sistem
16
Clickstream
Yazma
Toplayıcı Uygulama
İstemci-1 İstemci-2
(1)
(2)
TamponYazma
Kullanım Senaryoları
• Messaging
• Website activity tracking (at Linkedin)
• Metrics
• Log aggregation
• Stream processing...
Kimler Kullanıyor ?
• LinkedIn
• Yahoo
• Twitter
• Netflix
• Spotify
• Pinterest
• Uber
• Goldman Sachs
• Tumblr
• PayPal
...
Kaynaklar
• http://kafka.apache.org/
• https://cwiki.apache.org/confluence/display/KAFKA/Index
• https://cwiki.apache.org/...
Soru & Cevap
20
Nächste SlideShare
Wird geladen in …5
×

Apache Kafka - Yüksek Performanslı Dağıtık Mesajlaşma Sistemi - Türkçe

1.835 Aufrufe

Veröffentlicht am

Yüksek performanslı ve ölçeklenebilir mesajlaşma sistemleri konusunda açık kaynak kodlu bir çözüm olarak ilk akla gelenlerden biri olan Apache Kafka hakkında bir sunumdur.

Veröffentlicht in: Software
  • Als Erste(r) kommentieren

Apache Kafka - Yüksek Performanslı Dağıtık Mesajlaşma Sistemi - Türkçe

  1. 1. Yüksek Performanslı Dağıtık Mesajlaşma Sistemi Emre Akış @akisemre
  2. 2. Özet • Neden Apache Kafka kullanalım ? • Aslında nedir? • Nasıl çalışır ? • Ekosistem 1
  3. 3. Büyük Veri (Big Data) • Bir bilgisayara sığmayan veri • Dağıtık sistemlere hoş geldiniz  2
  4. 4. Gerçek Zamanlı Veri Analitiği • Olaylar (Events) (örn: “clickstream”ler) • Sensörler • Şeylerin interneti (Internet of Things - IoT) • Veri akımları (Data streams) 3
  5. 5. Mesajlaşma Kuyruğu 4 FIFO – İlk giren ilk çıkar
  6. 6. Dağıtık Mesajlaşma Kuyruğu • Ölçeklenebilir • Güvenilir • Yüksek performans (okumada,yazmada) 5
  7. 7. Neden Apache Kafka Kullanalım ? • Temiz ve basit mimari • Kullanımı kolay • Kurulması kolay • Yüksek performans • Ölçeklenebilirlik • Yüksek kullanılabilirlik (high availability) • Kalıcılık (bir süreliğine) 6
  8. 8. Küme (Cluster) 7 Dil bağımsız TCP protokolü Küme => grup halindeki sunucular (brokerlar)
  9. 9. Konu (Topic) 8 • Mesajların gönderildiği kategori ismi • Bölümlendirilmiş log • Her bölüm – Sıralı – Değişmez sıralı – Sona eklemeli offset => sıralı bir sayı
  10. 10. Bölüm Dağılımı (Partition Distribution) • Küme içindeki sunucular arasında dağıtılmış • Hata toleransı için kopyalanmış (ayarlanabilir) • Her bölümün bir lideri olur (okuma,yazma) • Diğerleri lideri takip eder (lideri kopyala) • Bölüm hatası durumunda takipçilerden biri yeni lider olur 9
  11. 11. Üretici (Producer) • Hangi mesaj hangi bölüme karar verir – Round-robin – Semantik bölümleme (semantic partitioning) 10
  12. 12. Tüketici (Consumer) • Queue vs. Publish/Subscribe • Geleneksel kuyruk sıralama vs. bölüm başına sıralama 11
  13. 13. Garantiler • Bir bölümdeki mesajlar, üreticinin gönderdiği sıradadır. • Tüketiciler mesajları logdaki kayıt sırasında okurlar. 12
  14. 14. İstemciler • Java • Python • Ruby • Go • C/C++ • .NET • Clojure • Node.js • Scala • JRuby • Perl • Erlang • PHP • Rust • HTTP Rest 13https://cwiki.apache.org/confluence/display/KAFKA/Clients
  15. 15. Ekosistem • Samza • Spark Streaming • Storm • Flink • Kafka Streams 14https://cwiki.apache.org/confluence/display/KAFKA/Ecosystem
  16. 16. Eski Sistem 15 Clickstream Tampon Yazma Toplayıcı Uygulama İstemci-1 İstemci-2 Okuma Okuma
  17. 17. Yeni Sistem 16 Clickstream Yazma Toplayıcı Uygulama İstemci-1 İstemci-2 (1) (2) TamponYazma
  18. 18. Kullanım Senaryoları • Messaging • Website activity tracking (at Linkedin) • Metrics • Log aggregation • Stream processing (with Storm or Samza) • Event sourcing (state changes are logged by time) • Commit log (like database transaction log – log compaction) 17
  19. 19. Kimler Kullanıyor ? • LinkedIn • Yahoo • Twitter • Netflix • Spotify • Pinterest • Uber • Goldman Sachs • Tumblr • PayPal • Box • Airbnb • Mozilla • Cisco • Etsy • Foursquare • StumbleUpon • Coursera • Oracle • … 18https://cwiki.apache.org/confluence/display/KAFKA/Powered+By
  20. 20. Kaynaklar • http://kafka.apache.org/ • https://cwiki.apache.org/confluence/display/KAFKA/Index • https://cwiki.apache.org/confluence/display/KAFKA/Ecosystem • http://www.confluent.io/blog • http://www.slideshare.net/miguno/apache-kafka-08-basic- training-verisign • http://devveri.com/big-data/apache-kafka (Türkçe yazım) • http://www.slideshare.net/EmreAkis1/apache-kafka-yksek- performansl-datk-mesajlama-sistemi-trke (sunum) 19
  21. 21. Soru & Cevap 20

×