Apache Kafka - Dasar-dasar

Sebelum masuk jauh ke dalam Kafka, Anda harus mengetahui terminologi utama seperti topik, broker, produsen, dan konsumen. Diagram berikut menggambarkan terminologi utama dan tabel menjelaskan komponen diagram secara rinci.

Pada diagram di atas, sebuah topik dikonfigurasikan menjadi tiga partisi. Partisi 1 memiliki dua faktor offset 0 dan 1. Partisi 2 memiliki empat faktor offset 0, 1, 2, dan 3. Partisi 3 memiliki satu faktor offset 0. Id replika sama dengan id server yang menghostingnya.

Asumsikan, jika faktor replikasi topik diatur ke 3, maka Kafka akan membuat 3 replika identik dari setiap partisi dan menempatkannya di cluster agar tersedia untuk semua operasinya. Untuk menyeimbangkan beban dalam cluster, setiap broker menyimpan satu atau lebih partisi tersebut. Banyak produsen dan konsumen dapat menerbitkan dan mengambil pesan pada saat yang bersamaan.

S.No Komponen dan Deskripsi
1

Topics

Aliran pesan yang termasuk dalam kategori tertentu disebut topik. Data disimpan dalam topik.

Topik dibagi menjadi beberapa partisi. Untuk setiap topik, Kafka menyimpan mini-mum dari satu partisi. Setiap partisi tersebut berisi pesan dalam urutan yang tidak dapat diubah. Partisi diimplementasikan sebagai sekumpulan file segmen dengan ukuran yang sama.

2

Partition

Topik mungkin memiliki banyak partisi, sehingga dapat menangani jumlah data yang berubah-ubah.

3

Partition offset

Setiap pesan yang dipartisi memiliki id urutan unik yang disebut sebagai offset .

4

Replicas of partition

Replika hanyalah cadangan dari sebuah partisi. Replika tidak pernah membaca atau menulis data. Mereka digunakan untuk mencegah kehilangan data.

5

Brokers

  • Broker adalah sistem sederhana yang bertanggung jawab untuk memelihara data yang dipublikasikan. Setiap broker mungkin memiliki nol atau lebih partisi per topik. Asumsikan, jika ada N partisi dalam suatu topik dan jumlah N broker, setiap broker akan memiliki satu partisi.

  • Asumsikan jika ada N partisi dalam sebuah topik dan lebih dari N broker (n + m), broker N pertama akan memiliki satu partisi dan broker M berikutnya tidak akan memiliki partisi untuk topik tersebut.

  • Asumsikan jika ada N partisi dalam suatu topik dan kurang dari N broker (nm), setiap broker akan memiliki satu atau lebih partisi sharing di antara mereka. Skenario ini tidak disarankan karena distribusi beban yang tidak seimbang di antara broker.

6

Kafka Cluster

Kafka yang memiliki lebih dari satu broker disebut cluster Kafka. Cluster Kafka dapat diperluas tanpa waktu henti. Kluster ini digunakan untuk mengelola persistensi dan replikasi data pesan.

7

Producers

Produser adalah penerbit pesan untuk satu atau lebih topik Kafka. Produsen mengirim data ke broker Kafka. Setiap kali produsen mempublikasikan pesan ke broker, broker hanya menambahkan pesan tersebut ke file segmen terakhir. Sebenarnya, pesan tersebut akan ditambahkan ke partisi. Produser juga dapat mengirim pesan ke partisi pilihan mereka.

8

Consumers

Konsumen membaca data dari broker. Konsumen berlangganan satu atau lebih topik dan mengkonsumsi pesan yang diterbitkan dengan menarik data dari broker.

9

Leader

Leader adalah node yang bertanggung jawab atas semua pembacaan dan penulisan untuk partisi yang diberikan. Setiap partisi memiliki satu server yang bertindak sebagai pemimpin.

10

Follower

Node yang mengikuti instruksi pemimpin disebut sebagai pengikut. Jika pemimpin gagal, salah satu pengikut otomatis akan menjadi pemimpin baru. Pengikut bertindak sebagai konsumen biasa, menarik pesan dan memperbarui penyimpanan datanya sendiri.