Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Dağıtık Akış Platformu
- Apache Kafka -
Emre Baykal
/misterbykl
@misterbykl
İçerik
• Apache Kafka
• Neden kullanalım?
• Nedir?
• Nasıl çalışır?
• Neye yarar?
• Kafka Connect
• Kafka Streams
• ?!?!?!
• Büyük Veri
• Gerçek Zamanlı Veri - data streams
• Olaylar - alarm, press, tick gibi tetikleme sonucu
• Sensörler
• IoT
•...
• Açık kaynak - Apache, Confluent
• Mesajlaşma sistemi, mq, akan veri, gerçek zamanlı
• Dağıtık (distributed)
• Parçalanab...
• Topic: Producer tarafından yayınlanan mesajlar ( key, value, timestamp)
• Producer: Kayıtlandığı ‘topic’ için mesaj üret...
Nedir?
michael-noll.com
Nedir?
confluent.io
Nasıl Çalışır?
• Zookeeper
• Broker’lar arası koordinasyon
• Lider seçimi
• Offset takibi
Nasıl Çalışır?
michael-noll.com
Nasıl Çalışır?
• Retention (alı koyma, saklama)
• Offset: Geçmiş Şimdi
• Consumer
• Consumer group
kafka.apache.org kafka....
Yani?
• Mesajlaşma && depolama && gerçek zamanlı (streaming) veri
• DFS, geçmişe ait veri (historical data)
• ‘subscribe’,...
• Diğer sistemler ile entegrasyon
• Veri akışına yeni sistemler ekleme
• i) Confluent. ii) Certified. iii) Community.
Kafk...
KafkaConnect
• Source Connectors = import
RDBMS. Couchbase. Blockchain. Cassandra. FTP.
Kinesis. MongoDB. MQTT. RabbitMQ. ...
• Akış üzerinde işlemler
yapabilmeyi ve gerçek zamanlı
uygulamalar (stream-
processing-applications)
geliştirmeyi sağlar
•...
KafkaStreams
Data
Source
K
C
o
n
n
e
c
t
Kafka
Cluster
Data
Sink
K
C
o
n
n
e
c
t
App
KafkaStreams
Data
Source
K
C
o
n
n
e
c
t
Kafka
Cluster
Data
Sink
K
C
o
n
n
e
c
t
App
KStreams
KafkaStreams
Data
Source
K
C
o
n
n
e
c
t
Kafka
Cluster
Data
Sink
K
C
o
n
n
e
c
t
App
KStreams
App
KStreams
App
KStreams
• Stream processor
• 1 in > op > 1 (veya daha fazla) out
• map, filter, join, aggregation
• Join: in1 + in2 = out1
• Aggre...
KafkaStreams
• Time
• Event-time: Oluşturulma zamanı
• Processing-time: İşlenme zamanı
Kai Wähner,
KafkaStreams
• Grouping: Aynı anahtara (key) sahip kayıtların gruplanması (partitioned-
keyed)
• Windowing: Gruplanan kayı...
KafkaStreams + (Machine Learning || Deep Learning)
map
filter filter
map
ML with H20.ai DL with deeplearning4j
–Peter Sondergaard, Gartner Research
“Information is the oil of the 21st century,
and analytics is the combustion engine.”
Teşekkürler
Upcoming SlideShare
Loading in …5
×

Apache Kafka Nedir?

1,256 views

Published on

Apache Kafka nedir?
Neden kullanılır?
Nasıl çalışır?
Neye yarar?
Kullanım alanları nelerdir?

Published in: Software
  • Login to see the comments

Apache Kafka Nedir?

  1. 1. Dağıtık Akış Platformu - Apache Kafka - Emre Baykal /misterbykl @misterbykl
  2. 2. İçerik • Apache Kafka • Neden kullanalım? • Nedir? • Nasıl çalışır? • Neye yarar? • Kafka Connect • Kafka Streams • ?!?!?!
  3. 3. • Büyük Veri • Gerçek Zamanlı Veri - data streams • Olaylar - alarm, press, tick gibi tetikleme sonucu • Sensörler • IoT • Dağıtık Sistemler - ölçeklenebilir Neden Kullanalım?
  4. 4. • Açık kaynak - Apache, Confluent • Mesajlaşma sistemi, mq, akan veri, gerçek zamanlı • Dağıtık (distributed) • Parçalanabilen (partitioned) • Çoklanabilen (replicated) • Pub-sub • Kümelenebilir (cluster): >= 1 sunucu • Fault-tolerant • Kayıtları ‘topic’ler halinde tutar Nedir? kafka.apache.org
  5. 5. • Topic: Producer tarafından yayınlanan mesajlar ( key, value, timestamp) • Producer: Kayıtlandığı ‘topic’ için mesaj üretir • Consumer: Kayıtlandığı ‘topic’den mesaj okur • Broker: Kafka kümesini oluşturan kafka sunucuları ( >=1 ) • Partition: Sıralı, değişmez (immutable), sona eklemeli kayıtlar dizisi. İçerisindeki her kayıt bir ‘offset’ değerine sahip. (Paralelleme, ölçeklendirme) • Replica: Partition kopyası Nedir?
  6. 6. Nedir? michael-noll.com
  7. 7. Nedir? confluent.io
  8. 8. Nasıl Çalışır? • Zookeeper • Broker’lar arası koordinasyon • Lider seçimi • Offset takibi
  9. 9. Nasıl Çalışır? michael-noll.com
  10. 10. Nasıl Çalışır? • Retention (alı koyma, saklama) • Offset: Geçmiş Şimdi • Consumer • Consumer group kafka.apache.org kafka.apache.org
  11. 11. Yani? • Mesajlaşma && depolama && gerçek zamanlı (streaming) veri • DFS, geçmişe ait veri (historical data) • ‘subscribe’, gelecek veri (future data) • (Streaming data pipeline)
  12. 12. • Diğer sistemler ile entegrasyon • Veri akışına yeni sistemler ekleme • i) Confluent. ii) Certified. iii) Community. KafkaConnect Data Source K C o n n e c t Kafka Cluster Data Sink K C o n n e c t App
  13. 13. KafkaConnect • Source Connectors = import RDBMS. Couchbase. Blockchain. Cassandra. FTP. Kinesis. MongoDB. MQTT. RabbitMQ. Solr. Redis. Twitter… • Sink Connectors = export Elasticsearch. S3(A). HDFS. BigQuery(G). PubSub(G). Hazelcast. DocumentDB. HBase…
  14. 14. • Akış üzerinde işlemler yapabilmeyi ve gerçek zamanlı uygulamalar (stream- processing-applications) geliştirmeyi sağlar • Kafka kümesine bağlı; üzerinde çalışır • Bir kütüphanedir (Kafka Streams API) • Dağıtık. Ölçeklenebilir. Hata toleranslı. KafkaStreams confluent.io
  15. 15. KafkaStreams Data Source K C o n n e c t Kafka Cluster Data Sink K C o n n e c t App
  16. 16. KafkaStreams Data Source K C o n n e c t Kafka Cluster Data Sink K C o n n e c t App KStreams
  17. 17. KafkaStreams Data Source K C o n n e c t Kafka Cluster Data Sink K C o n n e c t App KStreams App KStreams App KStreams
  18. 18. • Stream processor • 1 in > op > 1 (veya daha fazla) out • map, filter, join, aggregation • Join: in1 + in2 = out1 • Aggregation: comb(in[1…n]) = out1 • Stateful (join, agg) vs Stateless (filter) KafkaStreams confluent.io
  19. 19. KafkaStreams • Time • Event-time: Oluşturulma zamanı • Processing-time: İşlenme zamanı Kai Wähner,
  20. 20. KafkaStreams • Grouping: Aynı anahtara (key) sahip kayıtların gruplanması (partitioned- keyed) • Windowing: Gruplanan kayıtların kontrolü (sub-grouping) ör. geç mesajlar • join, aggregation Kai Wähner,
  21. 21. KafkaStreams + (Machine Learning || Deep Learning) map filter filter map ML with H20.ai DL with deeplearning4j
  22. 22. –Peter Sondergaard, Gartner Research “Information is the oil of the 21st century, and analytics is the combustion engine.”
  23. 23. Teşekkürler

×