SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache KafkaJeff Holoman
 
ksqlDB: Building Consciousness on Real Time Events
ksqlDB: Building Consciousness on Real Time EventsksqlDB: Building Consciousness on Real Time Events
ksqlDB: Building Consciousness on Real Time Eventsconfluent
 
Apache Kafka - Martin Podval
Apache Kafka - Martin PodvalApache Kafka - Martin Podval
Apache Kafka - Martin PodvalMartin Podval
 
Diving into the Deep End - Kafka Connect
Diving into the Deep End - Kafka ConnectDiving into the Deep End - Kafka Connect
Diving into the Deep End - Kafka Connectconfluent
 
Fundamentals and Architecture of Apache Kafka
Fundamentals and Architecture of Apache KafkaFundamentals and Architecture of Apache Kafka
Fundamentals and Architecture of Apache KafkaAngelo Cesaro
 
APACHE KAFKA / Kafka Connect / Kafka Streams
APACHE KAFKA / Kafka Connect / Kafka StreamsAPACHE KAFKA / Kafka Connect / Kafka Streams
APACHE KAFKA / Kafka Connect / Kafka StreamsKetan Gote
 
ksqlDB - Stream Processing simplified!
ksqlDB - Stream Processing simplified!ksqlDB - Stream Processing simplified!
ksqlDB - Stream Processing simplified!Guido Schmutz
 
Kafka connect 101
Kafka connect 101Kafka connect 101
Kafka connect 101Whiteklay
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache KafkaShiao-An Yuan
 
ksqlDB로 실시간 데이터 변환 및 스트림 처리
ksqlDB로 실시간 데이터 변환 및 스트림 처리ksqlDB로 실시간 데이터 변환 및 스트림 처리
ksqlDB로 실시간 데이터 변환 및 스트림 처리confluent
 

Tendances (20)

Apache Kafka
Apache KafkaApache Kafka
Apache Kafka
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Kafka 101
Kafka 101Kafka 101
Kafka 101
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache Kafka
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
ksqlDB: Building Consciousness on Real Time Events
ksqlDB: Building Consciousness on Real Time EventsksqlDB: Building Consciousness on Real Time Events
ksqlDB: Building Consciousness on Real Time Events
 
Apache Kafka at LinkedIn
Apache Kafka at LinkedInApache Kafka at LinkedIn
Apache Kafka at LinkedIn
 
Kafka presentation
Kafka presentationKafka presentation
Kafka presentation
 
kafka
kafkakafka
kafka
 
Apache Kafka - Martin Podval
Apache Kafka - Martin PodvalApache Kafka - Martin Podval
Apache Kafka - Martin Podval
 
Diving into the Deep End - Kafka Connect
Diving into the Deep End - Kafka ConnectDiving into the Deep End - Kafka Connect
Diving into the Deep End - Kafka Connect
 
Fundamentals and Architecture of Apache Kafka
Fundamentals and Architecture of Apache KafkaFundamentals and Architecture of Apache Kafka
Fundamentals and Architecture of Apache Kafka
 
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
 
ksqlDB - Stream Processing simplified!
ksqlDB - Stream Processing simplified!ksqlDB - Stream Processing simplified!
ksqlDB - Stream Processing simplified!
 
Kafka connect 101
Kafka connect 101Kafka connect 101
Kafka connect 101
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache Kafka
 
ksqlDB로 실시간 데이터 변환 및 스트림 처리
ksqlDB로 실시간 데이터 변환 및 스트림 처리ksqlDB로 실시간 데이터 변환 및 스트림 처리
ksqlDB로 실시간 데이터 변환 및 스트림 처리
 
Apache Kafka - Overview
Apache Kafka - OverviewApache Kafka - Overview
Apache Kafka - Overview
 

En vedette

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
 

En vedette (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
 

Similaire à 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
 

Similaire à 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

Notes de l'éditeur

  1. With Partitions Scalabilitiy and parallelism