{"id":36830,"date":"2025-12-23T18:40:47","date_gmt":"2025-12-23T15:40:47","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=36830"},"modified":"2025-12-23T18:40:47","modified_gmt":"2025-12-23T15:40:47","slug":"kafkaya-giris-dagitik-akis-platformunun-temelleri-ve-kullanim-alanlari","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/kafkaya-giris-dagitik-akis-platformunun-temelleri-ve-kullanim-alanlari\/","title":{"rendered":"Kafka&#8217;ya Giri\u015f: Da\u011f\u0131t\u0131k Ak\u0131\u015f Platformunun Temelleri ve Kullan\u0131m Alanlar\u0131"},"content":{"rendered":"<p><body><\/p>\n<h2>Kafka&#8217;ya Giri\u015f: Da\u011f\u0131t\u0131k Ak\u0131\u015f Platformunun Temelleri ve Kullan\u0131m Alanlar\u0131<\/h2>\n<h2>Giri\u015f<\/h2>\n<p>G\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda, veri \u00fcretimi ve t\u00fcketimi hi\u00e7 olmad\u0131\u011f\u0131 kadar h\u0131zl\u0131 ve b\u00fcy\u00fck \u00f6l\u00e7eklidir. Ak\u0131ll\u0131 cihazlar, web uygulamalar\u0131, IoT sens\u00f6rleri ve mikroservis mimarileri s\u00fcrekli olarak devasa miktarda veri \u00fcretmekte ve bu verilerin ger\u00e7ek zamanl\u0131 olarak i\u015flenmesi, analiz edilmesi ve da\u011f\u0131t\u0131lmas\u0131 ihtiyac\u0131n\u0131 do\u011furmaktad\u0131r. Geleneksel veri i\u015fleme y\u00f6ntemleri, bu t\u00fcr y\u00fcksek verimli ve d\u00fc\u015f\u00fck gecikmeli veri ak\u0131\u015flar\u0131n\u0131 y\u00f6netmekte yetersiz kalabilmektedir. \u0130\u015fte tam bu noktada, Apache Kafka gibi da\u011f\u0131t\u0131k ak\u0131\u015f platformlar\u0131 devreye girer.<\/p>\n<p>Apache Kafka, y\u00fcksek performansl\u0131, \u00f6l\u00e7eklenebilir ve dayan\u0131kl\u0131 bir da\u011f\u0131t\u0131k ak\u0131\u015f platformu olarak tasarlanm\u0131\u015ft\u0131r. Veri ak\u0131\u015flar\u0131n\u0131 yay\u0131nlama, abone olma, depolama ve i\u015fleme yetene\u011fi sayesinde, modern veri altyap\u0131lar\u0131n\u0131n temel ta\u015flar\u0131ndan biri haline gelmi\u015ftir. Bu makale, Kafka&#8217;n\u0131n ne oldu\u011funu, temel bile\u015fenlerini, \u00e7al\u0131\u015fma prensiplerini, sundu\u011fu avantajlar\u0131 ve geni\u015f kullan\u0131m alanlar\u0131n\u0131 detayl\u0131 bir \u015fekilde inceleyerek, okuyuculara Kafka ekosistemine kapsaml\u0131 bir giri\u015f sunmay\u0131 ama\u00e7lamaktad\u0131r. Veri odakl\u0131 uygulamalar geli\u015ftiren yaz\u0131l\u0131m m\u00fchendislerinden, b\u00fcy\u00fck veri mimarilerine ilgi duyan analistlere kadar geni\u015f bir kitleye hitap eden bu platformun g\u00fcc\u00fcn\u00fc ve esnekli\u011fini ke\u015ffedece\u011fiz.<\/p>\n<h2>Apache Kafka Nedir?<\/h2>\n<p>Apache Kafka, ilk olarak LinkedIn&#8217;de geli\u015ftirilen ve daha sonra a\u00e7\u0131k kaynak olarak Apache Yaz\u0131l\u0131m Vakf\u0131&#8217;na ba\u011f\u0131\u015flanan da\u011f\u0131t\u0131k bir ak\u0131\u015f platformudur. Temel amac\u0131, y\u00fcksek hacimli olay g\u00fcnl\u00fcklerini (event logs) i\u015flemek ve bu olaylar\u0131n g\u00fcvenilir bir \u015fekilde farkl\u0131 sistemler aras\u0131nda ta\u015f\u0131nmas\u0131n\u0131 sa\u011flamakt\u0131r. Kafka, sadece bir mesaj kuyru\u011fu olman\u0131n \u00f6tesinde, da\u011f\u0131t\u0131k bir depolama sistemi, bir ak\u0131\u015f i\u015fleme motoru ve bir mesajla\u015fma sistemi \u00f6zelliklerini bir araya getirir.<\/p>\n<p>Kafka&#8217;y\u0131 di\u011fer geleneksel mesajla\u015fma sistemlerinden (\u00f6rne\u011fin RabbitMQ, ActiveMQ) ay\u0131ran en \u00f6nemli \u00f6zelliklerden biri, verileri belirli bir s\u00fcre boyunca (veya s\u00fcresiz olarak) depolayabilmesidir. Bu &#8220;kal\u0131c\u0131l\u0131k&#8221; \u00f6zelli\u011fi sayesinde, t\u00fcketiciler veriyi diledikleri zaman okuyabilir, hatta ge\u00e7mi\u015fe d\u00f6n\u00fck verilere eri\u015febilirler. Bu durum, Kafka&#8217;y\u0131 sadece anl\u0131k mesajla\u015fma i\u00e7in de\u011fil, ayn\u0131 zamanda ger\u00e7ek zamanl\u0131 veri entegrasyonu, log toplama, etkinlik ak\u0131\u015f\u0131 i\u015fleme ve veri ambar\u0131 besleme gibi daha geni\u015f kullan\u0131m senaryolar\u0131 i\u00e7in de ideal k\u0131lar. Kafka, yatay \u00f6l\u00e7eklenebilirlik, y\u00fcksek verim (throughput), d\u00fc\u015f\u00fck gecikme ve hata tolerans\u0131 gibi kritik \u00f6zelliklerle tasarlanm\u0131\u015ft\u0131r, bu da onu b\u00fcy\u00fck \u00f6l\u00e7ekli, veri yo\u011fun uygulamalar i\u00e7in vazge\u00e7ilmez bir ara\u00e7 haline getirir.<\/p>\n<h2>Kafka&#8217;n\u0131n Temel Bile\u015fenleri<\/h2>\n<p>Kafka&#8217;n\u0131n g\u00fcc\u00fc ve esnekli\u011fi, birbiriyle uyumlu \u00e7al\u0131\u015fan temel bile\u015fenlerinin mimarisinden gelir. Bu bile\u015fenler, veri ak\u0131\u015f\u0131n\u0131n g\u00fcvenli ve verimli bir \u015fekilde y\u00f6netilmesini sa\u011flar.<\/p>\n<h3>Broker<\/h3>\n<p>Kafka mimarisinin kalbinde yer alan sunuculara &#8220;Broker&#8221; denir. Bir Kafka k\u00fcmesi (cluster), birden fazla Broker&#8217;dan olu\u015fur ve bu Broker&#8217;lar birlikte \u00e7al\u0131\u015farak veri depolama ve i\u015fleme g\u00f6revlerini \u00fcstlenirler. Her Broker, belirli konular\u0131n (topic) partition&#8217;lar\u0131n\u0131 bar\u0131nd\u0131r\u0131r ve gelen mesajlar\u0131 bu partition&#8217;lara yazar. Ayr\u0131ca, t\u00fcketicilerin (consumer) mesajlar\u0131 okumak i\u00e7in ba\u011fland\u0131\u011f\u0131 ana sunuculard\u0131r. Broker&#8217;lar, birbirleriyle ve Zookeeper (veya KRaft) ile ileti\u015fim kurarak k\u00fcmenin genel durumunu, partition liderlerini ve replikasyon durumunu y\u00f6netirler. Bir Broker&#8217;\u0131n \u00e7\u00f6kmesi durumunda, replikasyon mekanizmalar\u0131 sayesinde veri kayb\u0131 ya\u015fanmaz ve di\u011fer Broker&#8217;lar g\u00f6revlerini devral\u0131r.<\/p>\n<h3>Topic<\/h3>\n<p>&#8220;Topic&#8221;, Kafka&#8217;da verilerin mant\u0131ksal olarak kategorize edildi\u011fi bir isim alan\u0131d\u0131r. \u00dcreticiler (producer) belirli bir Topic&#8217;e mesaj g\u00f6nderir, t\u00fcketiciler ise belirli bir Topic&#8217;ten mesaj okur. \u00d6rne\u011fin, bir e-ticaret uygulamas\u0131nda &#8220;sipari\u015fler&#8221;, &#8220;\u00fcr\u00fcn g\u00fcncellemeleri&#8221; veya &#8220;kullan\u0131c\u0131 etkinlikleri&#8221; gibi farkl\u0131 veri t\u00fcrleri i\u00e7in ayr\u0131 Topic&#8217;ler olu\u015fturulabilir. Topic&#8217;ler, verilerin d\u00fczenli ve anlaml\u0131 bir \u015fekilde organize edilmesini sa\u011flar. Her Topic, bir veya daha fazla &#8220;Partition&#8221;a b\u00f6l\u00fcnm\u00fc\u015ft\u00fcr.<\/p>\n<h3>Partition<\/h3>\n<p>Bir Topic&#8217;in fiziksel olarak depoland\u0131\u011f\u0131 ve i\u015flendi\u011fi birimlere &#8220;Partition&#8221; denir. Her Partition, Topic&#8217;in mesajlar\u0131n\u0131n s\u0131ral\u0131, de\u011fi\u015ftirilemez bir g\u00fcnl\u00fc\u011f\u00fc (immutable log) olarak i\u015flev g\u00f6r\u00fcr. Yeni mesajlar her zaman Partition&#8217;\u0131n sonuna eklenir (append-only). Partition&#8217;lar, Kafka&#8217;n\u0131n \u00f6l\u00e7eklenebilirli\u011finin temelini olu\u015fturur; farkl\u0131 Partition&#8217;lar farkl\u0131 Broker&#8217;lar \u00fczerinde bar\u0131nd\u0131r\u0131larak paralel i\u015fleme imkan\u0131 sunar. Bir Topic&#8217;in birden fazla Partition&#8217;a sahip olmas\u0131, ayn\u0131 anda birden fazla t\u00fcketicinin o Topic&#8217;ten paralel olarak mesaj okuyabilmesini sa\u011flar. Her mesaj\u0131n bir &#8220;offset&#8221; de\u011feri vard\u0131r; bu, mesaj\u0131n Partition i\u00e7indeki benzersiz, s\u0131ral\u0131 kimli\u011fidir. T\u00fcketiciler, okuduklar\u0131 mesaj\u0131n offset&#8217;ini takip ederek hangi mesajda kald\u0131klar\u0131n\u0131 bilirler. Partition&#8217;lar, veri yedeklili\u011fi (replication) i\u00e7in de kullan\u0131l\u0131r; her Partition&#8217;\u0131n birden fazla kopyas\u0131 (replica) farkl\u0131 Broker&#8217;larda tutularak hata tolerans\u0131 sa\u011flan\u0131r.<\/p>\n<h3>Producer<\/h3>\n<p>&#8220;Producer&#8221;lar, Kafka Topic&#8217;lerine veri g\u00f6nderen istemci uygulamalard\u0131r. \u00d6rne\u011fin, bir web sunucusu, kullan\u0131c\u0131 etkinliklerini bir Kafka Topic&#8217;ine g\u00f6ndermek i\u00e7in bir Producer olabilir. Producer&#8217;lar, g\u00f6nderdikleri mesajlar\u0131 belirli bir Topic&#8217;in belirli bir Partition&#8217;\u0131na y\u00f6nlendirebilirler. E\u011fer Partition belirtilmezse, Kafka genellikle round-robin algoritmas\u0131 veya bir anahtar (key) kullanarak mesajlar\u0131 Partition&#8217;lara da\u011f\u0131t\u0131r. Producer&#8217;lar, mesajlar\u0131n g\u00f6nderilme garantilerini (acknowledgement) yap\u0131land\u0131rabilirler; bu, mesaj\u0131n Broker taraf\u0131ndan al\u0131nd\u0131\u011f\u0131n\u0131 ve\/veya replikalar\u0131n tamam\u0131na yaz\u0131ld\u0131\u011f\u0131n\u0131 onaylamak i\u00e7in kullan\u0131l\u0131r. Bu, veri kayb\u0131n\u0131 \u00f6nlemek ad\u0131na kritik bir \u00f6zelliktir.<\/p>\n<h3>Consumer<\/h3>\n<p>&#8220;Consumer&#8221;lar, Kafka Topic&#8217;lerinden veri okuyan istemci uygulamalard\u0131r. Consumer&#8217;lar, bir veya daha fazla Topic&#8217;e abone olabilir ve bu Topic&#8217;lerdeki mesajlar\u0131 okuyabilirler. Kafka&#8217;n\u0131n en g\u00fc\u00e7l\u00fc \u00f6zelliklerinden biri olan &#8220;Consumer Group&#8221; kavram\u0131, Consumer&#8217;lar\u0131n \u00f6l\u00e7eklenebilir bir \u015fekilde paralel olarak veri i\u015flemesini sa\u011flar. Bir Consumer Group i\u00e7indeki her Consumer, abone oldu\u011fu Topic&#8217;in farkl\u0131 Partition&#8217;lar\u0131ndan mesaj okur ve b\u00f6ylece i\u015f y\u00fck\u00fc grup \u00fcyeleri aras\u0131nda da\u011f\u0131t\u0131l\u0131r. Consumer&#8217;lar, okuduklar\u0131 mesajlar\u0131n offset&#8217;ini takip ederler ve bu offset&#8217;leri Kafka&#8217;ya (veya Zookeeper&#8217;a) kaydederler. Bu sayede, bir Consumer&#8217;\u0131n \u00e7\u00f6kmesi durumunda, ayn\u0131 gruptaki ba\u015fka bir Consumer kald\u0131\u011f\u0131 yerden devam edebilir veya Consumer yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda kald\u0131\u011f\u0131 yerden okumaya ba\u015flayabilir.<\/p>\n<h3>Zookeeper<\/h3>\n<p>Apache Zookeeper, Kafka k\u00fcmesinin koordinasyonunu sa\u011flayan, da\u011f\u0131t\u0131k bir yap\u0131land\u0131rma hizmetidir. Kafka 2.8 s\u00fcr\u00fcm\u00fcnden itibaren KRaft (Kafka Raft) ad\u0131 verilen yeni bir konsens\u00fcs mekanizmas\u0131 geli\u015ftirilse de, eski s\u00fcr\u00fcmler ve bir\u00e7ok mevcut \u00fcretim ortam\u0131 hala Zookeeper kullanmaktad\u0131r. Zookeeper, Broker&#8217;lar\u0131n durumunu, Topic ve Partition metadata&#8217;s\u0131n\u0131, Broker lider se\u00e7imini, Consumer Group&#8217;lar\u0131n offset&#8217;lerini ve di\u011fer kritik k\u00fcme bilgilerini y\u00f6netir. Broker&#8217;lar, Zookeeper&#8217;a ba\u011flanarak k\u00fcmedeki di\u011fer Broker&#8217;lar hakk\u0131nda bilgi edinir ve k\u00fcme i\u00e7indeki de\u011fi\u015fiklikleri takip eder. Zookeeper&#8217;\u0131n kendisi de da\u011f\u0131t\u0131k ve hata toleransl\u0131 bir mimariye sahiptir.<\/p>\n<h2>Kafka&#8217;n\u0131n \u00c7al\u0131\u015fma Prensibi<\/h2>\n<p>Kafka&#8217;n\u0131n \u00e7al\u0131\u015fma prensibi, \u00fcretici-t\u00fcketici modeline dayan\u0131r ancak da\u011f\u0131t\u0131k ve kal\u0131c\u0131 bir g\u00fcnl\u00fck (log) mekanizmas\u0131yla zenginle\u015ftirilmi\u015ftir. \u0130\u015fte ad\u0131m ad\u0131m temel i\u015fleyi\u015f:<\/p>\n<p>1.  <strong>Mesaj \u00dcretimi (Producer):<\/strong> Bir Producer, bir Topic&#8217;e mesaj g\u00f6ndermek istedi\u011finde, bu mesaj\u0131 belirli bir Kafka Broker&#8217;\u0131na iletir. Mesaj, anahtar (key) ve de\u011fer (value) \u00e7iftinden olu\u015fur. Producer, mesaj\u0131 hangi Partition&#8217;a g\u00f6nderece\u011fine karar verir (genellikle anahtar\u0131n hash de\u011feri veya round-robin).<br \/>\n2.  <strong>Mesaj\u0131n Partition&#8217;a Yaz\u0131lmas\u0131:<\/strong> Broker, gelen mesaj\u0131 ilgili Topic&#8217;in belirlenen Partition&#8217;\u0131na ekler. Her Partition, mesajlar\u0131n s\u0131ral\u0131 bir listesi olan de\u011fi\u015ftirilemez bir log dosyas\u0131d\u0131r. Mesajlar, Partition&#8217;\u0131n sonuna eklenir ve her mesaja artan bir &#8220;offset&#8221; numaras\u0131 atan\u0131r. Bu &#8220;append-only&#8221; yaz\u0131m modeli, disk I\/O&#8217;sunu optimize eder ve y\u00fcksek yazma verimi sa\u011flar.<br \/>\n3.  <strong>Veri Kal\u0131c\u0131l\u0131\u011f\u0131 ve Replikasyon:<\/strong> Her Partition, belirli bir replikasyon fakt\u00f6r\u00fcyle yap\u0131land\u0131r\u0131l\u0131r (\u00f6rne\u011fin 3). Bu, Partition&#8217;\u0131n bir lider (leader) kopyas\u0131n\u0131n ve birka\u00e7 takip\u00e7i (follower) kopyas\u0131n\u0131n farkl\u0131 Broker&#8217;larda tutuldu\u011fu anlam\u0131na gelir. Producer mesaj\u0131 lidere g\u00f6nderir ve lider, mesaj\u0131 t\u00fcm takip\u00e7i kopyalar\u0131na \u00e7o\u011falt\u0131r. Bu replikasyon, bir Broker&#8217;\u0131n \u00e7\u00f6kmesi durumunda veri kayb\u0131n\u0131 \u00f6nler ve hata tolerans\u0131 sa\u011flar.<br \/>\n4.  <strong>Mesaj T\u00fcketimi (Consumer):<\/strong> Bir Consumer, belirli bir Topic&#8217;e abone olur ve o Topic&#8217;in Partition&#8217;lar\u0131ndan mesaj okumaya ba\u015flar. Consumer&#8217;lar, okuduklar\u0131 mesaj\u0131n offset&#8217;ini takip ederler. Bu offset bilgisi, Consumer&#8217;\u0131n bir sonraki okumaya nereden ba\u015flayaca\u011f\u0131n\u0131 g\u00f6sterir ve genellikle Kafka&#8217;da depolan\u0131r.<br \/>\n5.  <strong>Consumer Group&#8217;lar ve Paralel \u0130\u015fleme:<\/strong> Birden fazla Consumer, ayn\u0131 Consumer Group&#8217;un bir par\u00e7as\u0131 olabilir. Bir Consumer Group i\u00e7indeki Consumer&#8217;lar, bir Topic&#8217;in Partition&#8217;lar\u0131n\u0131 payla\u015farak paralel i\u015fleme yaparlar. \u00d6rne\u011fin, bir Topic&#8217;in 3 Partition&#8217;\u0131 varsa ve Consumer Group&#8217;ta 3 Consumer varsa, her Consumer bir Partition&#8217;dan sorumlu olur. E\u011fer daha fazla Consumer eklenirse, i\u015f y\u00fck\u00fc yine Partition&#8217;lar aras\u0131nda da\u011f\u0131t\u0131l\u0131r (her Partition&#8217;a en fazla bir Consumer atanabilir). Bu mekanizma, Consumer&#8217;lar\u0131n yatay \u00f6l\u00e7eklenebilirli\u011fini sa\u011flar.<br \/>\n6.  <strong>Ger\u00e7ek Zamanl\u0131 Ak\u0131\u015f:<\/strong> Kafka&#8217;n\u0131n d\u00fc\u015f\u00fck gecikmeli yazma ve okuma yetenekleri sayesinde, Producer&#8217;lar taraf\u0131ndan g\u00f6nderilen mesajlar neredeyse an\u0131nda Consumer&#8217;lar taraf\u0131ndan i\u015flenebilir. Bu, ger\u00e7ek zamanl\u0131 veri ak\u0131\u015f\u0131 ve olay odakl\u0131 mimariler i\u00e7in ideal bir platform olmas\u0131n\u0131 sa\u011flar.<\/p>\n<h2>Kafka&#8217;n\u0131n Avantajlar\u0131<\/h2>\n<p>Kafka, modern veri altyap\u0131lar\u0131nda tercih edilmesinin bir\u00e7ok g\u00fc\u00e7l\u00fc nedeni olan e\u015fsiz avantajlar sunar.<\/p>\n<h3>Y\u00fcksek Performans ve Verim (Throughput)<\/h3>\n<p>Kafka, saniyede milyonlarca mesaj i\u015fleyebilecek kadar y\u00fcksek verimli (throughput) bir platformdur. Bu y\u00fcksek performans, birka\u00e7 temel tasar\u0131msal karardan kaynaklan\u0131r:<br \/>\n*   <strong>S\u0131ral\u0131 Disk Yaz\u0131m\u0131:<\/strong> Mesajlar, Partition&#8217;lar\u0131n sonuna s\u0131ral\u0131 olarak eklenir. S\u0131ral\u0131 yazma i\u015flemleri, rastgele yazmalara g\u00f6re \u00e7ok daha h\u0131zl\u0131d\u0131r ve geleneksel disklerin performans\u0131n\u0131 maksimize eder.<br \/>\n*   <strong>S\u0131f\u0131r Kopyalama (Zero-Copy):<\/strong> Kafka, mesajlar\u0131 diskten a\u011fa aktar\u0131rken kernel&#8217;in &#8220;zero-copy&#8221; \u00f6zelli\u011fini kullanarak CPU d\u00f6ng\u00fclerini ve bellek kopyalama maliyetlerini minimize eder. Bu, verilerin \u00e7ok h\u0131zl\u0131 bir \u015fekilde Producer&#8217;dan Broker&#8217;a ve Broker&#8217;dan Consumer&#8217;a ta\u015f\u0131nmas\u0131n\u0131 sa\u011flar.<br \/>\n*   <strong>Batching (Toplula\u015ft\u0131rma):<\/strong> Producer&#8217;lar, birden fazla mesaj\u0131 tek bir istekte gruplayarak g\u00f6nderir. Bu, a\u011f gecikmesini ve Broker \u00fczerindeki y\u00fck\u00fc azalt\u0131r.<\/p>\n<h3>\u00d6l\u00e7eklenebilirlik (Scalability)<\/h3>\n<p>Kafka, yatay olarak \u00f6l\u00e7eklenebilir bir mimariye sahiptir. \u0130htiya\u00e7 duyuldu\u011funda, mevcut k\u00fcmelere daha fazla Broker ekleyerek kapasite art\u0131r\u0131labilir.<br \/>\n*   <strong>Yatay \u00d6l\u00e7eklenebilirlik:<\/strong> Y\u00fcksek veri hacmini kar\u015f\u0131lamak i\u00e7in yeni Broker&#8217;lar eklemek kolayd\u0131r.<br \/>\n*   <strong>Partition&#8217;lar Sayesinde Paralel \u0130\u015fleme:<\/strong> Topic&#8217;ler Partition&#8217;lara b\u00f6l\u00fcnd\u00fc\u011f\u00fc i\u00e7in, Consumer&#8217;lar ayn\u0131 anda birden fazla Partition&#8217;dan paralel olarak mesaj okuyabilir. Bu, i\u015fleme kapasitesini do\u011frusal olarak art\u0131rma imkan\u0131 sunar.<\/p>\n<h3>Dayan\u0131kl\u0131l\u0131k ve Hata Tolerans\u0131 (Durability &#038; Fault Tolerance)<\/h3>\n<p>Veri kayb\u0131, modern sistemlerde kabul edilemez bir durumdur. Kafka, bu konuda sa\u011flam garantiler sunar:<br \/>\n*   <strong>Veri Replikasyonu:<\/strong> Her Partition&#8217;\u0131n birden fazla kopyas\u0131 (replica) farkl\u0131 Broker&#8217;larda tutulur. Bir Broker&#8217;\u0131n \u00e7\u00f6kmesi durumunda, di\u011fer Broker&#8217;lardaki replikalar devreye girer ve veri kayb\u0131 ya\u015fanmaz.<br \/>\n*   <strong>Kal\u0131c\u0131 Depolama:<\/strong> Mesajlar, disk \u00fczerinde kal\u0131c\u0131 olarak depolan\u0131r ve belirli bir s\u00fcre boyunca (veya s\u00fcresiz olarak) saklan\u0131r. Bu, Consumer&#8217;lar\u0131n diledikleri zaman ge\u00e7mi\u015fe d\u00f6n\u00fck verilere eri\u015fmesini sa\u011flar ve sistemlerin yeniden ba\u015flat\u0131lmas\u0131 durumunda veri b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc korur.<br \/>\n*   <strong>Lider Se\u00e7imi:<\/strong> Zookeeper (veya KRaft), bir Broker&#8217;\u0131n \u00e7\u00f6kmesi durumunda otomatik olarak yeni bir lider se\u00e7erek hizmetin kesintisiz devam etmesini sa\u011flar.<\/p>\n<h3>Ger\u00e7ek Zamanl\u0131 \u0130\u015fleme (Real-time Processing)<\/h3>\n<p>Kafka, d\u00fc\u015f\u00fck gecikmeli veri ak\u0131\u015f\u0131 sayesinde ger\u00e7ek zamanl\u0131 uygulamalar i\u00e7in idealdir.<br \/>\n*   <strong>D\u00fc\u015f\u00fck Gecikme:<\/strong> Mesajlar\u0131n Producer&#8217;dan Broker&#8217;a ve Broker&#8217;dan Consumer&#8217;a iletilmesi milisaniyeler i\u00e7inde ger\u00e7ekle\u015febilir.<br \/>\n*   <strong>Ak\u0131\u015f \u0130\u015fleme Entegrasyonu:<\/strong> Kafka Streams API&#8217;si ve ksqlDB gibi ara\u00e7lar, Kafka \u00fczerindeki veri ak\u0131\u015flar\u0131n\u0131 ger\u00e7ek zamanl\u0131 olarak i\u015flemek, d\u00f6n\u00fc\u015ft\u00fcrmek ve analiz etmek i\u00e7in g\u00fc\u00e7l\u00fc yetenekler sunar.<\/p>\n<h3>\u00c7oklu T\u00fcketici Deste\u011fi (Multi-Consumer Support)<\/h3>\n<p>Kafka, ayn\u0131 veriyi birden fazla ba\u011f\u0131ms\u0131z uygulaman\u0131n veya servisin t\u00fcketmesine olanak tan\u0131r:<br \/>\n*   <strong>Consumer Group&#8217;lar:<\/strong> Farkl\u0131 Consumer Group&#8217;lar, ayn\u0131 Topic&#8217;teki verileri birbirinden ba\u011f\u0131ms\u0131z olarak ve kendi h\u0131zlar\u0131nda t\u00fcketebilirler. Bir Consumer Group i\u00e7indeki Consumer&#8217;lar ise i\u015f y\u00fck\u00fcn\u00fc payla\u015f\u0131r.<br \/>\n*   <strong>Verinin Tekrar Okunabilirli\u011fi:<\/strong> Mesajlar diskte kal\u0131c\u0131 oldu\u011fu i\u00e7in, Consumer&#8217;lar diledikleri zaman ge\u00e7mi\u015fteki bir offset&#8217;ten tekrar okumaya ba\u015flayabilir veya farkl\u0131 uygulamalar ayn\u0131 veriyi farkl\u0131 ama\u00e7lar i\u00e7in tekrar tekrar i\u015fleyebilir.<\/p>\n<h2>Kafka Kullan\u0131m Alanlar\u0131<\/h2>\n<p>Kafka&#8217;n\u0131n esnek ve g\u00fc\u00e7l\u00fc yap\u0131s\u0131, onu \u00e7ok \u00e7e\u015fitli kullan\u0131m alanlar\u0131nda vazge\u00e7ilmez bir ara\u00e7 haline getirir.<\/p>\n<h3>Ger\u00e7ek Zamanl\u0131 Ak\u0131\u015f Veri \u0130\u015fleme (Real-time Stream Processing)<\/h3>\n<p>Kafka, ak\u0131\u015f halindeki verileri toplamak, d\u00f6n\u00fc\u015ft\u00fcrmek ve analiz etmek i\u00e7in m\u00fckemmel bir temel sa\u011flar. Log toplama, metrik izleme, doland\u0131r\u0131c\u0131l\u0131k tespiti, ki\u015fiselle\u015ftirilmi\u015f \u00f6neri sistemleri ve anomali tespiti gibi uygulamalar, Kafka \u00fczerinden ger\u00e7ek zamanl\u0131 veri ak\u0131\u015flar\u0131n\u0131 i\u015fleyerek an\u0131nda kararlar alabilir. Kafka Streams ve ksqlDB gibi entegre ara\u00e7lar, bu t\u00fcr i\u015f y\u00fcklerini kolayla\u015ft\u0131r\u0131r.<\/p>\n<h3>Etkinlik Kayd\u0131 (Activity Tracking)<\/h3>\n<p>Web siteleri, mobil uygulamalar ve IoT cihazlar\u0131 s\u00fcrekli olarak kullan\u0131c\u0131 etkinlikleri \u00fcretir (t\u0131klamalar, sayfa g\u00f6r\u00fcnt\u00fclemeleri, sat\u0131n almalar, sens\u00f6r verileri vb.). Kafka, bu etkinlikleri y\u00fcksek hacimli ve g\u00fcvenilir bir \u015fekilde toplamak ve daha sonra analiz, ki\u015fiselle\u015ftirme veya i\u015f zekas\u0131 i\u00e7in downstream sistemlere iletmek i\u00e7in kullan\u0131l\u0131r.<\/p>\n<h3>Mesaj Kuyru\u011fu (Message Queuing)<\/h3>\n<p>Geleneksel mesaj kuyruklar\u0131n\u0131n yerini almasa da, Kafka bir\u00e7ok senaryoda mesaj kuyru\u011fu i\u015flevini ba\u015far\u0131yla yerine getirebilir. \u00d6zellikle y\u00fcksek verimli, da\u011f\u0131t\u0131k ve kal\u0131c\u0131 bir mesajla\u015fma sistemi gerekti\u011finde tercih edilir. Mikroservisler aras\u0131 asenkron ileti\u015fimde veya g\u00f6revlerin da\u011f\u0131t\u0131k olarak i\u015flenmesinde kullan\u0131labilir.<\/p>\n<h3>Metrik ve Log Toplama (Metrics &#038; Log Aggregation)<\/h3>\n<p>Sunuculardan, uygulamalardan ve a\u011f cihazlar\u0131ndan gelen operasyonel metrikler ve loglar, Kafka \u00fczerinden merkezi bir konuma toplanabilir. Bu sayede, log y\u00f6netimi sistemleri (\u00f6rne\u011fin ELK Stack), izleme ara\u00e7lar\u0131 ve g\u00fcvenlik analiz platformlar\u0131, bu verilere ger\u00e7ek zamanl\u0131 olarak eri\u015febilir ve analiz edebilir.<\/p>\n<h3>De\u011fi\u015fiklik Veri Yakalama (Change Data Capture &#8211; CDC)<\/h3>\n<p>Veritabanlar\u0131ndaki de\u011fi\u015fiklikleri (ekleme, g\u00fcncelleme, silme) ger\u00e7ek zamanl\u0131 olarak yakalamak ve bu de\u011fi\u015fiklikleri di\u011fer sistemlere (veri ambarlar\u0131, \u00f6nbellekler, arama motorlar\u0131) iletmek i\u00e7in Kafka kullan\u0131l\u0131r. Kafka Connect ve Debezium gibi ara\u00e7lar, bu s\u00fcreci otomatikle\u015ftirmeyi sa\u011flar, b\u00f6ylece veri entegrasyonu ve senkronizasyonu kolayla\u015f\u0131r.<\/p>\n<h3>Mikroservisler Aras\u0131 \u0130leti\u015fim (Microservices Communication)<\/h3>\n<p>Mikroservis mimarilerinde, servisler aras\u0131 ba\u011f\u0131ml\u0131l\u0131klar\u0131 azaltmak ve asenkron ileti\u015fimi sa\u011flamak i\u00e7in Kafka s\u0131kl\u0131kla tercih edilir. Servisler, olaylar\u0131 (events) Kafka Topic&#8217;lerine yay\u0131nlar ve ilgili di\u011fer servisler bu olaylara abone olarak kendi i\u015f mant\u0131klar\u0131n\u0131 tetikler. Bu, daha esnek, dayan\u0131kl\u0131 ve \u00f6l\u00e7eklenebilir bir mimari olu\u015fturur.<\/p>\n<h3>Veri Entegrasyonu (Data Integration)<\/h3>\n<p>Farkl\u0131 sistemler ve uygulamalar aras\u0131nda veri ta\u015f\u0131mak ve entegre etmek i\u00e7in Kafka merkezi bir veri omurgas\u0131 (data backbone) g\u00f6revi g\u00f6r\u00fcr. Veri g\u00f6lleri (data lakes), veri ambarlar\u0131 (data warehouses) ve di\u011fer analitik platformlar, Kafka \u00fczerinden beslenerek g\u00fcncel verilere eri\u015febilir.<\/p>\n<h2>Kafka Ekosistemi<\/h2>\n<p>Kafka&#8217;n\u0131n temel bile\u015fenlerinin yan\u0131 s\u0131ra, platformun yeteneklerini geni\u015fleten ve belirli kullan\u0131m senaryolar\u0131n\u0131 kolayla\u015ft\u0131ran zengin bir ekosistemi vard\u0131r.<\/p>\n<h3>Kafka Connect<\/h3>\n<p>Kafka Connect, \u00e7e\u015fitli veri kaynaklar\u0131 ve veri hedefleri aras\u0131nda veri ak\u0131\u015f\u0131n\u0131 kolayla\u015ft\u0131rmak i\u00e7in tasarlanm\u0131\u015f bir ara\u00e7t\u0131r. Veritabanlar\u0131, dosya sistemleri, mesajla\u015fma sistemleri ve di\u011fer veri depolar\u0131 ile Kafka aras\u0131nda veri ta\u015f\u0131yan &#8220;Connector&#8221;lar\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in bir \u00e7er\u00e7eve sa\u011flar.<br \/>\n*   <strong>Source Connector&#8217;lar:<\/strong> Veri kaynaklar\u0131ndan (\u00f6rne\u011fin, bir PostgreSQL veritaban\u0131, bir dosya sistemi) verileri okur ve Kafka Topic&#8217;lerine yazar.<br \/>\n*   <strong>Sink Connector&#8217;lar:<\/strong> Kafka Topic&#8217;lerinden verileri okur ve veri hedeflerine (\u00f6rne\u011fin, Elasticsearch, S3, ba\u015fka bir veritaban\u0131) yazar.<br \/>\nKafka Connect, veri entegrasyonu i\u015flerini kod yazmadan veya minimum kodla ger\u00e7ekle\u015ftirmeyi m\u00fcmk\u00fcn k\u0131lar, bu da ETL (Extract, Transform, Load) s\u00fcre\u00e7lerini basitle\u015ftirir.<\/p>\n<h3>Kafka Streams<\/h3>\n<p>Kafka Streams, Kafka \u00fczerinde depolanan verileri i\u015flemek i\u00e7in tasarlanm\u0131\u015f bir istemci k\u00fct\u00fcphanesidir. Java ve Scala dillerinde yaz\u0131lm\u0131\u015f uygulamalar\u0131n, Kafka Topic&#8217;lerindeki veri ak\u0131\u015flar\u0131n\u0131 ger\u00e7ek zamanl\u0131 olarak d\u00f6n\u00fc\u015ft\u00fcrmesine, birle\u015ftirmesine ve analiz etmesine olanak tan\u0131r. Hafif, da\u011f\u0131t\u0131k ve hata toleransl\u0131 yap\u0131s\u0131yla, karma\u015f\u0131k ak\u0131\u015f i\u015fleme uygulamalar\u0131n\u0131 kolayca geli\u015ftirmek i\u00e7in idealdir. \u00d6rne\u011fin, bir ak\u0131\u015ftan belirli olaylar\u0131 filtreleyebilir, verileri zenginle\u015ftirebilir veya pencereleme (windowing) operasyonlar\u0131 ile zaman tabanl\u0131 analizler yapabilirsiniz.<\/p>\n<h3>ksqlDB<\/h3>\n<p>ksqlDB, Kafka \u00fczerinde SQL benzeri bir dil kullanarak ger\u00e7ek zamanl\u0131 ak\u0131\u015f i\u015fleme yapmay\u0131 sa\u011flayan bir veritaban\u0131d\u0131r. Geli\u015ftiricilerin, Kafka Streams API&#8217;si ile karma\u015f\u0131k Java\/Scala kodu yazmak yerine, bildikleri SQL syntax&#8217;\u0131 ile ak\u0131\u015f verilerini sorgulamas\u0131na, d\u00f6n\u00fc\u015ft\u00fcrmesine ve birle\u015ftirmesine olanak tan\u0131r. Bu, ak\u0131\u015f i\u015fleme uygulamalar\u0131n\u0131n geli\u015ftirilmesini ve y\u00f6netimini \u00f6nemli \u00f6l\u00e7\u00fcde basitle\u015ftirir. Hem ak\u0131\u015flar\u0131 (streams) hem de tablolar\u0131 (tables) destekleyerek, ger\u00e7ek zamanl\u0131 analitik panolar\u0131, etkinlik odakl\u0131 mikroservisler ve veri entegrasyonu boru hatlar\u0131 olu\u015fturmak i\u00e7in g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r.<\/p>\n<h3>Schema Registry<\/h3>\n<p>Kafka&#8217;da \u00fcretilen mesajlar\u0131n \u015femalar\u0131n\u0131 (yap\u0131lar\u0131n\u0131) y\u00f6netmek i\u00e7in kullan\u0131lan bir hizmettir. Schema Registry, mesajlar\u0131n ileri ve geri uyumlulu\u011funu sa\u011flayarak, Producer ve Consumer&#8217;lar\u0131n farkl\u0131 \u015fema versiyonlar\u0131yla bile sorunsuz bir \u015fekilde ileti\u015fim kurmas\u0131na olanak tan\u0131r. Bu, \u00f6zellikle evrimle\u015fen veri yap\u0131lar\u0131na sahip b\u00fcy\u00fck, da\u011f\u0131t\u0131k sistemlerde veri b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc korumak i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<h2>Kafka Kurulumu ve Temel Komutlar (K\u0131sa \u00d6zet)<\/h2>\n<p>Kafka&#8217;y\u0131 yerel bir ortamda veya geli\u015ftirme ortam\u0131nda denemek olduk\u00e7a kolayd\u0131r. Genellikle Docker Compose kullanarak h\u0131zl\u0131ca bir Kafka k\u00fcmesi (Zookeeper dahil) aya\u011fa kald\u0131r\u0131labilir.<\/p>\n<p><strong>Docker Compose ile Basit Bir Kurulum \u00d6rne\u011fi:<\/strong><\/p>\n<pre><code class=\"language-yaml\">version: '3'\nservices:\n  zookeeper:\n    image: confluentinc\/cp-zookeeper:latest\n    hostname: zookeeper\n    ports:\n      - \"2181:2181\"\n    environment:\n      ZOOKEEPER_CLIENT_PORT: 2181\n      ZOOKEEPER_TICK_TIME: 2000\n\n  broker:\n    image: confluentinc\/cp-kafka:latest\n    hostname: broker\n    ports:\n      - \"9092:9092\"\n    depends_on:\n      - zookeeper\n    environment:\n      KAFKA_BROKER_ID: 1\n      KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181'\n      KAFKA_ADVERTISED_LISTENERS: 'PLAINTEXT:\/\/broker:29092,PLAINTEXT_HOST:\/\/localhost:9092'\n      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT'\n      KAFKA_INTER_BROKER_LISTENER_NAME: 'PLAINTEXT'\n      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1<\/code><\/pre>\n<p>Bu <code>docker-compose.yml<\/code> dosyas\u0131n\u0131 kullanarak <code>docker-compose up -d<\/code> komutuyla Zookeeper ve Kafka Broker&#8217;\u0131 ba\u015flatabilirsiniz.<\/p>\n<p><strong>Temel Komut Sat\u0131r\u0131 \u0130\u015flemleri:<\/strong><br \/>\n*   <strong>Topic Olu\u015fturma:<\/strong><\/p>\n<pre><code class=\"language-bash\">kafka-topics --create --topic my_first_topic --bootstrap-server localhost:9092 --partitions 3 --replication-factor 1<\/code><\/pre>\n<p>*   <strong>Topic Listeleme:<\/strong><\/p>\n<pre><code class=\"language-bash\">kafka-topics --list --bootstrap-server localhost:9092<\/code><\/pre>\n<p>*   <strong>Producer \u00c7al\u0131\u015ft\u0131rma (Mesaj G\u00f6nderme):<\/strong><\/p>\n<pre><code class=\"language-bash\">kafka-console-producer --topic my_first_topic --bootstrap-server localhost:9092<\/code><\/pre>\n<p>    (Bu komutu \u00e7al\u0131\u015ft\u0131rd\u0131ktan sonra terminale yazd\u0131\u011f\u0131n\u0131z her sat\u0131r bir mesaj olarak Topic&#8217;e g\u00f6nderilir.)<br \/>\n*   <strong>Consumer \u00c7al\u0131\u015ft\u0131rma (Mesaj Okuma):<\/strong><\/p>\n<pre><code class=\"language-bash\">kafka-console-consumer --topic my_first_topic --bootstrap-server localhost:9092 --from-beginning<\/code><\/pre>\n<p>    (<code>--from-beginning<\/code> bayra\u011f\u0131, Topic&#8217;teki en eski mesajdan itibaren okumaya ba\u015flamay\u0131 sa\u011flar.)<\/p>\n<p>Bu komutlar, Kafka&#8217;n\u0131n temel i\u015flevselli\u011fini anlamak ve test etmek i\u00e7in iyi bir ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>Apache Kafka, modern veri altyap\u0131lar\u0131n\u0131n vazge\u00e7ilmez bir bile\u015feni haline gelmi\u015f, y\u00fcksek performansl\u0131, \u00f6l\u00e7eklenebilir ve dayan\u0131kl\u0131 bir da\u011f\u0131t\u0131k ak\u0131\u015f platformudur. Ger\u00e7ek zamanl\u0131 veri ak\u0131\u015flar\u0131n\u0131 y\u00f6netme, depolama ve i\u015fleme yetenekleri sayesinde, b\u00fcy\u00fck veri d\u00fcnyas\u0131ndaki bir\u00e7ok zorlu\u011fun \u00fcstesinden gelmektedir. Temel bile\u015fenleri olan Broker&#8217;lar, Topic&#8217;ler, Partition&#8217;lar, Producer&#8217;lar, Consumer&#8217;lar ve Zookeeper (veya KRaft), bir araya gelerek g\u00fc\u00e7l\u00fc ve esnek bir mimari sunar.<\/p>\n<p>Kafka&#8217;n\u0131n sundu\u011fu y\u00fcksek verim, yatay \u00f6l\u00e7eklenebilirlik, veri kal\u0131c\u0131l\u0131\u011f\u0131 ve hata tolerans\u0131 gibi avantajlar, onu etkinlik kayd\u0131, log toplama, mikroservisler aras\u0131 ileti\u015fim, ger\u00e7ek zamanl\u0131 analitik ve veri entegrasyonu gibi geni\u015f bir kullan\u0131m yelpazesi i\u00e7in ideal k\u0131lar. Ayr\u0131ca, Kafka Connect, Kafka Streams ve ksqlDB gibi zengin ekosistem ara\u00e7lar\u0131, geli\u015ftiricilerin ve veri m\u00fchendislerinin Kafka \u00fczerinde karma\u015f\u0131k ak\u0131\u015f i\u015fleme uygulamalar\u0131n\u0131 daha kolay ve verimli bir \u015fekilde olu\u015fturmas\u0131na olanak tan\u0131r.<\/p>\n<p>G\u00fcn\u00fcm\u00fcz\u00fcn s\u00fcrekli b\u00fcy\u00fcyen ve de\u011fi\u015fen veri ortam\u0131nda, Kafka gibi platformlar, i\u015fletmelerin verilerinden maksimum de\u011feri \u00e7\u0131karmalar\u0131 i\u00e7in kritik bir rol oynamaktad\u0131r. Veri odakl\u0131 uygulamalar geli\u015ftiren herkes i\u00e7in Apache Kafka&#8217;y\u0131 anlamak ve onunla \u00e7al\u0131\u015fmak, modern yaz\u0131l\u0131m m\u00fchendisli\u011fi becerilerinin temel bir par\u00e7as\u0131 haline gelmi\u015ftir. Bu makale, Kafka d\u00fcnyas\u0131na ad\u0131m atmak isteyenler i\u00e7in sa\u011flam bir temel olu\u015fturmay\u0131 ummaktad\u0131r.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Kafka&#8217;ya Giri\u015f: Da\u011f\u0131t\u0131k Ak\u0131\u015f Platformunun Temelleri ve Kullan\u0131m Alanlar\u0131\nGiri\u015f\nG\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda, veri \u00fcretimi ve t\u00fcketim","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-36830","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Kafka&#039;ya Giri\u015f: Da\u011f\u0131t\u0131k Ak\u0131\u015f Platformunun Temelleri ve Kullan\u0131m Alanlar\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/kafkaya-giris-dagitik-akis-platformunun-temelleri-ve-kullanim-alanlari\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kafka&#039;ya Giri\u015f: Da\u011f\u0131t\u0131k Ak\u0131\u015f Platformunun Temelleri ve Kullan\u0131m Alanlar\u0131\" \/>\n<meta property=\"og:description\" content=\"Kafka&#039;ya Giri\u015f: Da\u011f\u0131t\u0131k Ak\u0131\u015f Platformunun Temelleri ve Kullan\u0131m Alanlar\u0131 Giri\u015f G\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda, veri \u00fcretimi ve t\u00fcketim\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/kafkaya-giris-dagitik-akis-platformunun-temelleri-ve-kullanim-alanlari\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-23T15:40:47+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kafkaya-giris-dagitik-akis-platformunun-temelleri-ve-kullanim-alanlari\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kafkaya-giris-dagitik-akis-platformunun-temelleri-ve-kullanim-alanlari\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Kafka&#8217;ya Giri\u015f: Da\u011f\u0131t\u0131k Ak\u0131\u015f Platformunun Temelleri ve Kullan\u0131m Alanlar\u0131\",\"datePublished\":\"2025-12-23T15:40:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kafkaya-giris-dagitik-akis-platformunun-temelleri-ve-kullanim-alanlari\/\"},\"wordCount\":3514,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/kafkaya-giris-dagitik-akis-platformunun-temelleri-ve-kullanim-alanlari\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kafkaya-giris-dagitik-akis-platformunun-temelleri-ve-kullanim-alanlari\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/kafkaya-giris-dagitik-akis-platformunun-temelleri-ve-kullanim-alanlari\/\",\"name\":\"Kafka'ya Giri\u015f: Da\u011f\u0131t\u0131k Ak\u0131\u015f Platformunun Temelleri ve Kullan\u0131m Alanlar\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-23T15:40:47+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kafkaya-giris-dagitik-akis-platformunun-temelleri-ve-kullanim-alanlari\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/kafkaya-giris-dagitik-akis-platformunun-temelleri-ve-kullanim-alanlari\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kafkaya-giris-dagitik-akis-platformunun-temelleri-ve-kullanim-alanlari\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kafka&#8217;ya Giri\u015f: Da\u011f\u0131t\u0131k Ak\u0131\u015f Platformunun Temelleri ve Kullan\u0131m Alanlar\u0131\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Kafka'ya Giri\u015f: Da\u011f\u0131t\u0131k Ak\u0131\u015f Platformunun Temelleri ve Kullan\u0131m Alanlar\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/kafkaya-giris-dagitik-akis-platformunun-temelleri-ve-kullanim-alanlari\/","og_locale":"tr_TR","og_type":"article","og_title":"Kafka'ya Giri\u015f: Da\u011f\u0131t\u0131k Ak\u0131\u015f Platformunun Temelleri ve Kullan\u0131m Alanlar\u0131","og_description":"Kafka'ya Giri\u015f: Da\u011f\u0131t\u0131k Ak\u0131\u015f Platformunun Temelleri ve Kullan\u0131m Alanlar\u0131 Giri\u015f G\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda, veri \u00fcretimi ve t\u00fcketim","og_url":"https:\/\/fatihsoysal.com\/blog\/kafkaya-giris-dagitik-akis-platformunun-temelleri-ve-kullanim-alanlari\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-23T15:40:47+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"17 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/kafkaya-giris-dagitik-akis-platformunun-temelleri-ve-kullanim-alanlari\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/kafkaya-giris-dagitik-akis-platformunun-temelleri-ve-kullanim-alanlari\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Kafka&#8217;ya Giri\u015f: Da\u011f\u0131t\u0131k Ak\u0131\u015f Platformunun Temelleri ve Kullan\u0131m Alanlar\u0131","datePublished":"2025-12-23T15:40:47+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/kafkaya-giris-dagitik-akis-platformunun-temelleri-ve-kullanim-alanlari\/"},"wordCount":3514,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/kafkaya-giris-dagitik-akis-platformunun-temelleri-ve-kullanim-alanlari\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/kafkaya-giris-dagitik-akis-platformunun-temelleri-ve-kullanim-alanlari\/","url":"https:\/\/fatihsoysal.com\/blog\/kafkaya-giris-dagitik-akis-platformunun-temelleri-ve-kullanim-alanlari\/","name":"Kafka'ya Giri\u015f: Da\u011f\u0131t\u0131k Ak\u0131\u015f Platformunun Temelleri ve Kullan\u0131m Alanlar\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-23T15:40:47+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/kafkaya-giris-dagitik-akis-platformunun-temelleri-ve-kullanim-alanlari\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/kafkaya-giris-dagitik-akis-platformunun-temelleri-ve-kullanim-alanlari\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/kafkaya-giris-dagitik-akis-platformunun-temelleri-ve-kullanim-alanlari\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Kafka&#8217;ya Giri\u015f: Da\u011f\u0131t\u0131k Ak\u0131\u015f Platformunun Temelleri ve Kullan\u0131m Alanlar\u0131"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36830","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=36830"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36830\/revisions"}],"predecessor-version":[{"id":36831,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36830\/revisions\/36831"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=36830"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=36830"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=36830"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}