SlideShare una empresa de Scribd logo
1 de 21
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 Things - IoT)
• Veri akımları (Data streams)
3
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çeklenebilirlik
• Yüksek kullanılabilirlik (high availability)
• Kalıcılık (bir süreliğine)
6
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ı
– Sona eklemeli
offset => sıralı bir sayı
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
Ü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
okurlar.
12
İ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
Ekosistem
• Samza
• Spark Streaming
• Storm
• Flink
• Kafka Streams
14https://cwiki.apache.org/confluence/display/KAFKA/Ecosystem
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 (with Storm or Samza)
• Event sourcing (state changes are logged by time)
• Commit log (like database transaction log – log
compaction)
17
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
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
Soru & Cevap
20

Más contenido relacionado

La actualidad más candente

KSQL: Streaming SQL for Kafka
KSQL: Streaming SQL for KafkaKSQL: Streaming SQL for Kafka
KSQL: Streaming SQL for Kafkaconfluent
 
A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ...
 A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ... A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ...
A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ...HostedbyConfluent
 
Apache Kafka - Messaging System Overview
Apache Kafka - Messaging System OverviewApache Kafka - Messaging System Overview
Apache Kafka - Messaging System OverviewDmitry Tolpeko
 
Oracleのソース・ターゲットエンドポイントとしての利用
Oracleのソース・ターゲットエンドポイントとしての利用Oracleのソース・ターゲットエンドポイントとしての利用
Oracleのソース・ターゲットエンドポイントとしての利用QlikPresalesJapan
 
Fundamentals of Apache Kafka
Fundamentals of Apache KafkaFundamentals of Apache Kafka
Fundamentals of Apache KafkaChhavi Parasher
 
Kafka Tutorial - Introduction to Apache Kafka (Part 1)
Kafka Tutorial - Introduction to Apache Kafka (Part 1)Kafka Tutorial - Introduction to Apache Kafka (Part 1)
Kafka Tutorial - Introduction to Apache Kafka (Part 1)Jean-Paul Azar
 
Design and Implementation of Incremental Cooperative Rebalancing
Design and Implementation of Incremental Cooperative RebalancingDesign and Implementation of Incremental Cooperative Rebalancing
Design and Implementation of Incremental Cooperative Rebalancingconfluent
 
Stream processing using Kafka
Stream processing using KafkaStream processing using Kafka
Stream processing using KafkaKnoldus Inc.
 
Integrating microservices with apache camel on kubernetes
Integrating microservices with apache camel on kubernetesIntegrating microservices with apache camel on kubernetes
Integrating microservices with apache camel on kubernetesClaus Ibsen
 
Hello, kafka! (an introduction to apache kafka)
Hello, kafka! (an introduction to apache kafka)Hello, kafka! (an introduction to apache kafka)
Hello, kafka! (an introduction to apache kafka)Timothy Spann
 
Kafka Overview
Kafka OverviewKafka Overview
Kafka Overviewiamtodor
 
Kafka Tutorial: Advanced Producers
Kafka Tutorial: Advanced ProducersKafka Tutorial: Advanced Producers
Kafka Tutorial: Advanced ProducersJean-Paul Azar
 
An Introduction to Apache Kafka
An Introduction to Apache KafkaAn Introduction to Apache Kafka
An Introduction to Apache KafkaAmir Sedighi
 
Mongodb - Scaling write performance
Mongodb - Scaling write performanceMongodb - Scaling write performance
Mongodb - Scaling write performanceDaum DNA
 
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 matterconfluent
 
ksqlDB: A Stream-Relational Database System
ksqlDB: A Stream-Relational Database SystemksqlDB: A Stream-Relational Database System
ksqlDB: A Stream-Relational Database Systemconfluent
 
APACHE KAFKA / Kafka Connect / Kafka Streams
APACHE KAFKA / Kafka Connect / Kafka StreamsAPACHE KAFKA / Kafka Connect / Kafka Streams
APACHE KAFKA / Kafka Connect / Kafka StreamsKetan Gote
 

La actualidad más candente (20)

Apache kafka
Apache kafkaApache kafka
Apache kafka
 
KSQL: Streaming SQL for Kafka
KSQL: Streaming SQL for KafkaKSQL: Streaming SQL for Kafka
KSQL: Streaming SQL for Kafka
 
A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ...
 A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ... A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ...
A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ...
 
Apache Kafka - Messaging System Overview
Apache Kafka - Messaging System OverviewApache Kafka - Messaging System Overview
Apache Kafka - Messaging System Overview
 
Oracleのソース・ターゲットエンドポイントとしての利用
Oracleのソース・ターゲットエンドポイントとしての利用Oracleのソース・ターゲットエンドポイントとしての利用
Oracleのソース・ターゲットエンドポイントとしての利用
 
Fundamentals of Apache Kafka
Fundamentals of Apache KafkaFundamentals of Apache Kafka
Fundamentals of Apache Kafka
 
Kafka Tutorial - Introduction to Apache Kafka (Part 1)
Kafka Tutorial - Introduction to Apache Kafka (Part 1)Kafka Tutorial - Introduction to Apache Kafka (Part 1)
Kafka Tutorial - Introduction to Apache Kafka (Part 1)
 
Design and Implementation of Incremental Cooperative Rebalancing
Design and Implementation of Incremental Cooperative RebalancingDesign and Implementation of Incremental Cooperative Rebalancing
Design and Implementation of Incremental Cooperative Rebalancing
 
Stream processing using Kafka
Stream processing using KafkaStream processing using Kafka
Stream processing using Kafka
 
Integrating microservices with apache camel on kubernetes
Integrating microservices with apache camel on kubernetesIntegrating microservices with apache camel on kubernetes
Integrating microservices with apache camel on kubernetes
 
Hello, kafka! (an introduction to apache kafka)
Hello, kafka! (an introduction to apache kafka)Hello, kafka! (an introduction to apache kafka)
Hello, kafka! (an introduction to apache kafka)
 
Kafka Overview
Kafka OverviewKafka Overview
Kafka Overview
 
Kafka Tutorial: Advanced Producers
Kafka Tutorial: Advanced ProducersKafka Tutorial: Advanced Producers
Kafka Tutorial: Advanced Producers
 
An Introduction to Apache Kafka
An Introduction to Apache KafkaAn Introduction to Apache Kafka
An Introduction to Apache Kafka
 
Mongodb - Scaling write performance
Mongodb - Scaling write performanceMongodb - Scaling write performance
Mongodb - Scaling write performance
 
Apache kafka
Apache kafkaApache kafka
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
 
ksqlDB: A Stream-Relational Database System
ksqlDB: A Stream-Relational Database SystemksqlDB: A Stream-Relational Database System
ksqlDB: A Stream-Relational Database System
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
APACHE KAFKA / Kafka Connect / Kafka Streams
APACHE KAFKA / Kafka Connect / Kafka StreamsAPACHE KAFKA / Kafka Connect / Kafka Streams
APACHE KAFKA / Kafka Connect / Kafka Streams
 

Destacado

Apache Kafka
Apache KafkaApache Kafka
Apache KafkaJoe Stein
 
Pig ve Hive ile Hadoop Üzerinde Veri Analizi v2
Pig ve Hive ile Hadoop Üzerinde Veri Analizi v2Pig ve Hive ile Hadoop Üzerinde Veri Analizi v2
Pig ve Hive ile Hadoop Üzerinde Veri Analizi v2Hakan Ilter
 
Interoperability and scalability with microservices in science
Interoperability and scalability with microservices in scienceInteroperability and scalability with microservices in science
Interoperability and scalability with microservices in scienceOla Spjuth
 
Revolutionizing WSO2 PaaS with Kubernetes & App Factory
Revolutionizing WSO2 PaaS with Kubernetes & App FactoryRevolutionizing WSO2 PaaS with Kubernetes & App Factory
Revolutionizing WSO2 PaaS with Kubernetes & App FactoryImesh Gunaratne
 
Consumer offset management in Kafka
Consumer offset management in KafkaConsumer offset management in Kafka
Consumer offset management in KafkaJoel Koshy
 
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...Kai Wähner
 
Real time Analytics with Apache Kafka and Apache Spark
Real time Analytics with Apache Kafka and Apache SparkReal time Analytics with Apache Kafka and Apache Spark
Real time Analytics with Apache Kafka and Apache SparkRahul Jain
 
Developing Real-Time Data Pipelines with Apache Kafka
Developing Real-Time Data Pipelines with Apache KafkaDeveloping Real-Time Data Pipelines with Apache Kafka
Developing Real-Time Data Pipelines with Apache KafkaJoe Stein
 

Destacado (9)

Apache Kafka
Apache KafkaApache Kafka
Apache Kafka
 
Pig ve Hive ile Hadoop Üzerinde Veri Analizi v2
Pig ve Hive ile Hadoop Üzerinde Veri Analizi v2Pig ve Hive ile Hadoop Üzerinde Veri Analizi v2
Pig ve Hive ile Hadoop Üzerinde Veri Analizi v2
 
Interoperability and scalability with microservices in science
Interoperability and scalability with microservices in scienceInteroperability and scalability with microservices in science
Interoperability and scalability with microservices in science
 
Revolutionizing WSO2 PaaS with Kubernetes & App Factory
Revolutionizing WSO2 PaaS with Kubernetes & App FactoryRevolutionizing WSO2 PaaS with Kubernetes & App Factory
Revolutionizing WSO2 PaaS with Kubernetes & App Factory
 
Consumer offset management in Kafka
Consumer offset management in KafkaConsumer offset management in Kafka
Consumer offset management in Kafka
 
Big Data Sunum
Big Data SunumBig Data Sunum
Big Data Sunum
 
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
 
Real time Analytics with Apache Kafka and Apache Spark
Real time Analytics with Apache Kafka and Apache SparkReal time Analytics with Apache Kafka and Apache Spark
Real time Analytics with Apache Kafka and Apache Spark
 
Developing Real-Time Data Pipelines with Apache Kafka
Developing Real-Time Data Pipelines with Apache KafkaDeveloping Real-Time Data Pipelines with Apache Kafka
Developing Real-Time Data Pipelines with Apache Kafka
 

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

Siber Güvenlik 1. hafta
Siber Güvenlik 1. haftaSiber Güvenlik 1. hafta
Siber Güvenlik 1. haftaOnur Er
 
Siber Güvenlik ve Etik Hacking Sunu - 4
Siber Güvenlik ve Etik Hacking Sunu - 4Siber Güvenlik ve Etik Hacking Sunu - 4
Siber Güvenlik ve Etik Hacking Sunu - 4Murat KARA
 
Exchange Server 2010 Database Availability Group(DAG)
Exchange Server 2010 Database Availability Group(DAG)Exchange Server 2010 Database Availability Group(DAG)
Exchange Server 2010 Database Availability Group(DAG)Serhad MAKBULOĞLU, MBA
 
2010 Kocaeli Linux Günleri - Linux Web Geliştiriciliği
2010 Kocaeli Linux Günleri - Linux Web Geliştiriciliği2010 Kocaeli Linux Günleri - Linux Web Geliştiriciliği
2010 Kocaeli Linux Günleri - Linux Web GeliştiriciliğiBurak Oğuz
 
Python programlama
Python programlamaPython programlama
Python programlamaMurat KARA
 
Bilgisayar Ağları
Bilgisayar AğlarıBilgisayar Ağları
Bilgisayar AğlarıFaik GÜNAY
 
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 SistemiErhan Yakut
 
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 KafkaVolkan Altan
 
windows server 2008 r2 hyper-v fail over cluster
windows server 2008 r2 hyper-v fail over clusterwindows server 2008 r2 hyper-v fail over cluster
windows server 2008 r2 hyper-v fail over clusterÇözümPARK
 
Pub/Sub Temelleri Ve Apache Kafka
Pub/Sub Temelleri Ve Apache KafkaPub/Sub Temelleri Ve Apache Kafka
Pub/Sub Temelleri Ve Apache KafkaVolkan Altan
 
Bilgisayar Mimarisi 06, Feza BUZLUCA
Bilgisayar Mimarisi 06, Feza BUZLUCABilgisayar Mimarisi 06, Feza BUZLUCA
Bilgisayar Mimarisi 06, Feza BUZLUCAFeza BUZLUCA
 
Python Programlama Diline Giriş - Güncelleme 2018
Python Programlama Diline Giriş - Güncelleme 2018Python Programlama Diline Giriş - Güncelleme 2018
Python Programlama Diline Giriş - Güncelleme 2018Murat KARA
 
Siber Güvenlik Buluşmaları 7. oturum, 1. kısım-07.12.2013
Siber Güvenlik Buluşmaları 7. oturum, 1. kısım-07.12.2013Siber Güvenlik Buluşmaları 7. oturum, 1. kısım-07.12.2013
Siber Güvenlik Buluşmaları 7. oturum, 1. kısım-07.12.2013Siber Güvenlik Derneği
 
Temel ag prog_yapilari_mseml
Temel ag prog_yapilari_msemlTemel ag prog_yapilari_mseml
Temel ag prog_yapilari_msemlmimarsinantl
 
Infraskope Security Event Manager
Infraskope  Security  Event  ManagerInfraskope  Security  Event  Manager
Infraskope Security Event Managerlogyonetimi
 
2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux
2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux
2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux Burak Oğuz
 

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

Siber Güvenlik 1. hafta
Siber Güvenlik 1. haftaSiber Güvenlik 1. hafta
Siber Güvenlik 1. hafta
 
Siber Güvenlik ve Etik Hacking Sunu - 4
Siber Güvenlik ve Etik Hacking Sunu - 4Siber Güvenlik ve Etik Hacking Sunu - 4
Siber Güvenlik ve Etik Hacking Sunu - 4
 
Sukru_TRSUG2016
Sukru_TRSUG2016Sukru_TRSUG2016
Sukru_TRSUG2016
 
Netty Tanıtımı
Netty TanıtımıNetty Tanıtımı
Netty Tanıtımı
 
Exchange Server 2010 Database Availability Group(DAG)
Exchange Server 2010 Database Availability Group(DAG)Exchange Server 2010 Database Availability Group(DAG)
Exchange Server 2010 Database Availability Group(DAG)
 
2010 Kocaeli Linux Günleri - Linux Web Geliştiriciliği
2010 Kocaeli Linux Günleri - Linux Web Geliştiriciliği2010 Kocaeli Linux Günleri - Linux Web Geliştiriciliği
2010 Kocaeli Linux Günleri - Linux Web Geliştiriciliği
 
Python programlama
Python programlamaPython programlama
Python programlama
 
Bilgisayar Ağları
Bilgisayar AğlarıBilgisayar Ağları
Bilgisayar Ağları
 
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
 
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
 
windows server 2008 r2 hyper-v fail over cluster
windows server 2008 r2 hyper-v fail over clusterwindows server 2008 r2 hyper-v fail over cluster
windows server 2008 r2 hyper-v fail over cluster
 
Riak ve RiakCS
Riak ve RiakCSRiak ve RiakCS
Riak ve RiakCS
 
Pub/Sub Temelleri Ve Apache Kafka
Pub/Sub Temelleri Ve Apache KafkaPub/Sub Temelleri Ve Apache Kafka
Pub/Sub Temelleri Ve Apache Kafka
 
Bilgisayar Mimarisi 06, Feza BUZLUCA
Bilgisayar Mimarisi 06, Feza BUZLUCABilgisayar Mimarisi 06, Feza BUZLUCA
Bilgisayar Mimarisi 06, Feza BUZLUCA
 
Python Programlama Diline Giriş - Güncelleme 2018
Python Programlama Diline Giriş - Güncelleme 2018Python Programlama Diline Giriş - Güncelleme 2018
Python Programlama Diline Giriş - Güncelleme 2018
 
Openstack Magnum CaaS
Openstack Magnum CaaSOpenstack Magnum CaaS
Openstack Magnum CaaS
 
Siber Güvenlik Buluşmaları 7. oturum, 1. kısım-07.12.2013
Siber Güvenlik Buluşmaları 7. oturum, 1. kısım-07.12.2013Siber Güvenlik Buluşmaları 7. oturum, 1. kısım-07.12.2013
Siber Güvenlik Buluşmaları 7. oturum, 1. kısım-07.12.2013
 
Temel ag prog_yapilari_mseml
Temel ag prog_yapilari_msemlTemel ag prog_yapilari_mseml
Temel ag prog_yapilari_mseml
 
Infraskope Security Event Manager
Infraskope  Security  Event  ManagerInfraskope  Security  Event  Manager
Infraskope Security Event Manager
 
2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux
2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux 2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux
2010 Kocaeli Linux Günleri - Linux Güvenlik UygulamalarıLinux
 

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

Notas del editor

  1. With Partitions Scalabilitiy and parallelism