SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
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
• Dağıtık Sistemler - ölçeklenebilir
Neden Kullanalım?
• 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
• 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?
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.apache.org
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)
• 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
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…
• 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
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
• Aggregation: comb(in[1…n]) = out1
• Stateful (join, agg) vs Stateless (filter)
KafkaStreams
confluent.io
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ıtların kontrolü (sub-grouping)
ör. geç mesajlar
• join, aggregation
Kai Wähner,
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

Contenu connexe

Tendances

Tendances (20)

Apache Kafka
Apache KafkaApache Kafka
Apache Kafka
 
Stream Processing with Apache Kafka and .NET
Stream Processing with Apache Kafka and .NETStream Processing with Apache Kafka and .NET
Stream Processing with Apache Kafka and .NET
 
An Introduction to Apache Kafka
An Introduction to Apache KafkaAn Introduction to Apache Kafka
An Introduction to Apache Kafka
 
kafka
kafkakafka
kafka
 
Stream processing using Kafka
Stream processing using KafkaStream processing using Kafka
Stream processing using Kafka
 
Introduction to apache kafka
Introduction to apache kafkaIntroduction to apache kafka
Introduction to apache kafka
 
Kafka basics
Kafka basicsKafka basics
Kafka basics
 
Apache Kafka - Overview
Apache Kafka - OverviewApache Kafka - Overview
Apache Kafka - Overview
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Apache Kafka Fundamentals for Architects, Admins and Developers
Apache Kafka Fundamentals for Architects, Admins and DevelopersApache Kafka Fundamentals for Architects, Admins and Developers
Apache Kafka Fundamentals for Architects, Admins and Developers
 
Tips & Tricks for Apache Kafka®
Tips & Tricks for Apache Kafka®Tips & Tricks for Apache Kafka®
Tips & Tricks for Apache Kafka®
 
Introduction to Apache Kafka and Confluent... and why they matter
Introduction to Apache Kafka and Confluent... and why they matterIntroduction to Apache Kafka and Confluent... and why they matter
Introduction to Apache Kafka and Confluent... and why they matter
 
Kafka presentation
Kafka presentationKafka presentation
Kafka presentation
 
Consuming RealTime Signals in Solr
Consuming RealTime Signals in Solr Consuming RealTime Signals in Solr
Consuming RealTime Signals in Solr
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Apache Kafka
Apache KafkaApache Kafka
Apache Kafka
 
ksqlDB - Stream Processing simplified!
ksqlDB - Stream Processing simplified!ksqlDB - Stream Processing simplified!
ksqlDB - Stream Processing simplified!
 
Apache Kafka Introduction
Apache Kafka IntroductionApache Kafka Introduction
Apache Kafka Introduction
 
RabbitMQ vs Apache Kafka - Part 1
RabbitMQ vs Apache Kafka - Part 1RabbitMQ vs Apache Kafka - Part 1
RabbitMQ vs Apache Kafka - Part 1
 
Kafka 101
Kafka 101Kafka 101
Kafka 101
 

Similaire à Apache Kafka Nedir?

Infraskope Security Event Manager
Infraskope  Security  Event  ManagerInfraskope  Security  Event  Manager
Infraskope Security Event Manager
logyonetimi
 

Similaire à Apache Kafka Nedir? (20)

Berkeley Data Analytics Stack Genel Bakış
Berkeley Data Analytics Stack Genel Bakış Berkeley Data Analytics Stack Genel Bakış
Berkeley Data Analytics Stack Genel Bakış
 
Berkeley Data Analytics Stack Genel Bakış
Berkeley Data Analytics Stack Genel BakışBerkeley Data Analytics Stack Genel Bakış
Berkeley Data Analytics Stack Genel Bakış
 
Sukru_TRSUG2016
Sukru_TRSUG2016Sukru_TRSUG2016
Sukru_TRSUG2016
 
Bilgisayar Mimarisi 06, Feza BUZLUCA
Bilgisayar Mimarisi 06, Feza BUZLUCABilgisayar Mimarisi 06, Feza BUZLUCA
Bilgisayar Mimarisi 06, Feza BUZLUCA
 
Docker - Ankara Cloud Meetup
Docker - Ankara Cloud Meetup Docker - Ankara Cloud Meetup
Docker - Ankara Cloud Meetup
 
PHPkonf'15 - PHP Uygulamanızı Güçlendirin
PHPkonf'15 - PHP Uygulamanızı GüçlendirinPHPkonf'15 - PHP Uygulamanızı Güçlendirin
PHPkonf'15 - PHP Uygulamanızı Güçlendirin
 
Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır?
Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır? Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır?
Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır?
 
Openstack Magnum CaaS
Openstack Magnum CaaSOpenstack Magnum CaaS
Openstack Magnum CaaS
 
Linkle mimari
Linkle mimariLinkle mimari
Linkle mimari
 
Netty Tanıtımı
Netty TanıtımıNetty Tanıtımı
Netty Tanıtımı
 
Pub/Sub Temelleri Ve Apache Kafka
Pub/Sub Temelleri Ve Apache KafkaPub/Sub Temelleri Ve Apache Kafka
Pub/Sub Temelleri Ve Apache Kafka
 
Pub/Sub Temelleri, RabbitMQ ve Apache Kafka
Pub/Sub Temelleri, RabbitMQ ve Apache KafkaPub/Sub Temelleri, RabbitMQ ve Apache Kafka
Pub/Sub Temelleri, RabbitMQ ve Apache Kafka
 
Infraskope Security Event Manager
Infraskope  Security  Event  ManagerInfraskope  Security  Event  Manager
Infraskope Security Event Manager
 
OpenStack Türkiye 14. Meetup Ankara: Yeni Başlayanlar için OpenStack
OpenStack Türkiye 14. Meetup Ankara: Yeni Başlayanlar için OpenStackOpenStack Türkiye 14. Meetup Ankara: Yeni Başlayanlar için OpenStack
OpenStack Türkiye 14. Meetup Ankara: Yeni Başlayanlar için OpenStack
 
Azure Container Service
Azure Container ServiceAzure Container Service
Azure Container Service
 
Capulus Product Overview
Capulus Product OverviewCapulus Product Overview
Capulus Product Overview
 
Event Driven Architecture And Message Queues by Orçun Çolak
Event Driven Architecture And Message Queues by Orçun ÇolakEvent Driven Architecture And Message Queues by Orçun Çolak
Event Driven Architecture And Message Queues by Orçun Çolak
 
Blockchain : Decentralized Application Development (Turkish)
Blockchain : Decentralized Application Development (Turkish)Blockchain : Decentralized Application Development (Turkish)
Blockchain : Decentralized Application Development (Turkish)
 
Hepsistream real time click-stream data analytics platform
Hepsistream real time click-stream  data analytics platformHepsistream real time click-stream  data analytics platform
Hepsistream real time click-stream data analytics platform
 
PHP ve NATS ile
 Mikroservis Mesajlaşma Sistemi
PHP ve NATS ile
 Mikroservis Mesajlaşma SistemiPHP ve NATS ile
 Mikroservis Mesajlaşma Sistemi
PHP ve NATS ile
 Mikroservis Mesajlaşma Sistemi
 

Plus de AnkaraCloud

Plus de AnkaraCloud (6)

Kubernetes Nedir?
Kubernetes Nedir?Kubernetes Nedir?
Kubernetes Nedir?
 
Replication in the wild ankara cloud meetup - feb 2017
Replication in the wild   ankara cloud meetup - feb 2017Replication in the wild   ankara cloud meetup - feb 2017
Replication in the wild ankara cloud meetup - feb 2017
 
Nokta techpresentation
Nokta techpresentationNokta techpresentation
Nokta techpresentation
 
Designing a Reliable Software Factory for the Cloud
Designing a Reliable Software Factory for the CloudDesigning a Reliable Software Factory for the Cloud
Designing a Reliable Software Factory for the Cloud
 
Dev ops culture and practices
Dev ops culture  and  practicesDev ops culture  and  practices
Dev ops culture and practices
 
Introduction to Amazon Web Services
Introduction to Amazon Web ServicesIntroduction to Amazon Web Services
Introduction to Amazon Web Services
 

Apache Kafka Nedir?