Apache Kafka

Apa itu Apache Kafka dan bagaimana cara kerjanya?

Apa itu Apache Kafka dan bagaimana cara kerjanya?

Dalam pelajaran ini, kita akan melihat apa itu Apache Kafka dan bagaimana cara kerjanya beserta beberapa kasus penggunaan yang paling umum.  Apache Kafka awalnya dikembangkan di LinkedIn pada tahun 2010 dan dipindahkan menjadi proyek Apache tingkat atas pada tahun 2012. Ini memiliki tiga komponen utama:

Kami akan mempelajari lebih banyak konsep Kafka di bagian mendatang. Ayo maju.

Konsep Apache Kafka

Sebelum kita menggali lebih dalam, kita perlu memahami beberapa konsep di Apache Kafka. Berikut adalah istilah yang harus kita ketahui, secara singkat:

Partisi Topik

Konsep untuk Topik, Partisi Topik, dan offset juga dapat diperjelas dengan gambar ilustrasi:

Partisi topik dan offset Konsumen di Apache Kafka

Apache Kafka sebagai sistem pesan Terbitkan-berlangganan

Dengan Kafka, aplikasi Produser menerbitkan pesan yang tiba di Node Kafka dan tidak langsung ke Konsumen. Dari Node Kafka ini, pesan dikonsumsi oleh aplikasi Konsumen.

Kafka Produsen dan Konsumen and

Karena satu topik bisa mendapatkan banyak data sekaligus, agar Kafka dapat diskalakan secara horizontal, setiap topik dibagi menjadi partisi dan setiap partisi dapat hidup di mesin node mana pun dari sebuah cluster.

Sekali lagi, Kafka Broker tidak mencatat konsumen mana yang telah mengkonsumsi berapa banyak paket data. Ini adalah tanggung jawab konsumen untuk melacak data yang telah dikonsumsi. Karena alasan Kafka tidak melacak pengakuan dan pesan dari setiap aplikasi konsumen, Kafka dapat mengelola lebih banyak konsumen dengan dampak yang dapat diabaikan pada throughput. Dalam produksi, banyak aplikasi bahkan mengikuti pola konsumen batch, yang berarti bahwa konsumen mengkonsumsi semua pesan dalam antrian pada interval waktu yang teratur.

Instalasi

Untuk mulai menggunakan Apache Kafka, itu harus diinstal pada mesin. Untuk melakukan ini, baca Instal Apache Kafka di Ubuntu.

Kasus Penggunaan: Pelacakan Penggunaan Situs Web

Kafka adalah alat yang sangat baik untuk digunakan ketika kita perlu melacak aktivitas di situs web. Data pelacakan mencakup dan tidak terbatas pada tampilan halaman, penelusuran, unggahan, atau tindakan lain yang mungkin dilakukan pengguna. Saat pengguna berada di situs web, pengguna dapat melakukan sejumlah tindakan saat menjelajahi situs web.

Misalnya, ketika pengguna baru mendaftar di situs web, aktivitas mungkin dilacak dalam urutan apa pengguna baru menjelajahi fitur situs web, jika pengguna menetapkan profil mereka sesuai kebutuhan atau lebih memilih untuk langsung melompat ke fitur situs web. situs web. Setiap kali pengguna mengklik tombol, metadata untuk tombol itu dikumpulkan dalam paket data dan dikirim ke klaster Kafka dari mana layanan analitik untuk aplikasi dapat mengumpulkan data ini dan menghasilkan wawasan yang berguna tentang data terkait. Jika kita melihat untuk membagi tugas menjadi beberapa langkah, berikut adalah bagaimana prosesnya akan terlihat seperti:

  1. Seorang pengguna mendaftar di situs web dan masuk ke dasbor. Pengguna mencoba mengakses fitur secara langsung dengan berinteraksi dengan tombol.
  2. Aplikasi web membuat pesan dengan metadata ini ke partisi topik topik "klik".
  3. Pesan ditambahkan ke log komit dan offset bertambah
  4. Konsumen sekarang dapat menarik pesan dari Kafka Broker dan menunjukkan penggunaan situs web secara real-time dan menunjukkan data masa lalu jika mengatur ulang offset ke nilai masa lalu yang mungkin

Kasus Penggunaan: Antrian Pesan

Apache Kafka adalah alat luar biasa yang dapat berfungsi sebagai pengganti alat perantara pesan seperti RabbitMQ. Pesan asinkron membantu dalam memisahkan aplikasi dan menciptakan sistem yang sangat skalabel.

Sama seperti konsep microservices, alih-alih membangun satu aplikasi besar, kita dapat membagi aplikasi menjadi beberapa bagian dan setiap bagian memiliki tanggung jawab yang sangat spesifik. Dengan cara ini, bagian-bagian yang berbeda dapat ditulis dalam bahasa pemrograman yang sepenuhnya independen juga! Kafka memiliki sistem partisi, replikasi, dan toleransi kesalahan bawaan yang membuatnya bagus sebagai sistem perantara pesan berskala besar.

Baru-baru ini, Kafka juga dipandang sebagai solusi pengumpulan log yang sangat baik yang dapat mengelola pialang server pengumpulan file log dan menyediakan file-file ini ke sistem pusat. Dengan Kafka, dimungkinkan untuk menghasilkan acara apa pun yang Anda ingin bagian lain dari aplikasi Anda ketahui.

Menggunakan Kafka di LinkedIn

Sangat menarik untuk dicatat bahwa Apache Kafka sebelumnya dilihat dan digunakan sebagai cara untuk membuat jalur pipa data menjadi konsisten dan melalui mana data diserap ke Hadoop. Kafka bekerja dengan sangat baik ketika beberapa sumber data dan tujuan hadir dan menyediakan proses pipa terpisah untuk setiap kombinasi sumber dan tujuan tidak mungkin. Arsitek Kafka LinkedIn, Jay Kreps menjelaskan masalah yang sudah dikenal ini dengan baik dalam sebuah posting blog:

Keterlibatan saya sendiri dalam hal ini dimulai sekitar tahun 2008 setelah kami mengirimkan toko bernilai kunci kami. Proyek saya berikutnya adalah mencoba menjalankan pengaturan Hadoop, dan memindahkan beberapa proses rekomendasi kami ke sana. Memiliki sedikit pengalaman di bidang ini, kami secara alami menganggarkan beberapa minggu untuk mendapatkan data masuk dan keluar, dan sisa waktu kami untuk menerapkan algoritme prediksi mewah. Jadi mulailah kerja keras yang panjang.

Apache Kafka dan Flume

Jika Anda pindah untuk membandingkan keduanya berdasarkan fungsinya, Anda akan menemukan banyak fitur umum. Berikut adalah beberapa di antaranya:

Kesimpulan

Dalam pelajaran ini, kita melihat banyak konsep tentang Apache Kafka. Baca lebih banyak posting berbasis Kafka di sini.

Cara Mengganti Tombol Kiri & Kanan Mouse di PC Windows 10
Sudah menjadi hal biasa bahwa semua perangkat mouse komputer dirancang secara ergonomis untuk pengguna yang tidak kidal. Tetapi ada perangkat mouse ya...
Tiru klik Mouse dengan mengarahkan mouse menggunakan Clickless Mouse di Windows 10
Menggunakan mouse atau keyboard dalam posisi yang salah dari penggunaan yang berlebihan dapat menyebabkan banyak masalah kesehatan, termasuk keteganga...
Tambahkan gerakan Mouse ke Windows 10 menggunakan alat gratis ini
Dalam beberapa tahun terakhir, komputer dan sistem operasi telah berkembang pesat. Ada saat ketika pengguna harus menggunakan perintah untuk menavigas...