Rumah > Java > javaTutorial > teks badan

Menganalisis prinsip pelaksanaan utama baris gilir mesej Kafka

PHPz
Lepaskan: 2024-02-01 09:37:06
asal
950 orang telah melayarinya

Menganalisis prinsip pelaksanaan utama baris gilir mesej Kafka

Analisis prinsip pelaksanaan teras baris gilir mesej Kafka

1. Topik dan partition

Data dalam Kafka disimpan dalam topik, dan setiap topik boleh mempunyai berbilang partition. Partition ialah unit penyimpanan fizikal data dalam Kafka Setiap partition ialah fail log bebas, tersusun dan tidak boleh diubah. Pembahagian adalah kunci kepada daya pemprosesan tinggi Kafka dan ketersediaan tinggi kerana data boleh ditulis dan dibaca daripada partition berbeza secara selari.

2. Penerbit mesej

Pengeluar mesej (pengeluar) ialah pelanggan yang menghantar data ke topik Kafka. Pengeluar boleh menjadi sebarang aplikasi asalkan ia melaksanakan API pengeluar Kafka. API pengeluar membolehkan pengeluar menghantar data ke topik dan partition tertentu. Jika pengeluar tidak menyatakan partition, Kafka akan memilih satu secara automatik.

3. Mesej pengguna

Seorang pengguna mesej (pengguna) ialah pelanggan yang membaca data daripada topik Kafka. Pengguna boleh menjadi sebarang aplikasi selagi ia melaksanakan API pengguna Kafka. API pengguna membolehkan pengguna melanggan topik dan sekatan tertentu. Apabila pengguna melanggan topik, ia mula membaca data dari permulaan topik. Pengguna boleh membaca data secara selari kerana setiap pengguna boleh membaca data dari partition yang berbeza.

4. Storan mesej

Kafka menyimpan data pada cakera. Setiap partition ialah fail log bebas, dan fail log terdiri daripada berbilang segmen. Saiz setiap segmen ialah 1GB. Apabila segmen penuh, Kafka mencipta segmen baharu. Kafka secara berkala memampatkan segmen lama untuk menjimatkan ruang storan.

5. Replikasi mesej

Kafka memastikan kebolehpercayaan data melalui replikasi. Data setiap partition akan disalin ke beberapa replika. Replika boleh berada pada pelayan yang berbeza. Apabila satu replika gagal, replika lain boleh terus menyediakan perkhidmatan.

6. Penyerahan mesej

Apabila pengguna membaca data daripada Kafka, ia perlu menyerahkan (commit) kemajuan penggunaannya kepada Kafka. Operasi komit menyimpan kemajuan penggunaan pengguna ke dalam metadata Kafka. Metadata disimpan dalam ZooKeeper. Operasi komit memastikan pengguna tidak akan menggunakan data berulang kali.

7. Mesej mengimbangi

Setiap mesej mempunyai offset. Offset ialah pengecam unik yang mengenal pasti lokasi mesej dalam partition. Offset boleh digunakan untuk mengesan kemajuan penggunaan pengguna.

8. Kumpulan pengguna

Kumpulan pengguna ialah kumpulan pengguna yang logik. Pengguna dalam kumpulan pengguna boleh menggunakan data daripada topik yang sama secara selari. Apabila pengguna dalam satu kumpulan pengguna menggunakan data, pengguna dalam kumpulan pengguna lain tidak menggunakan data tersebut.

9. Pengimbangan beban

Kafka menggunakan pengimbangan beban untuk memastikan data diagihkan secara sama rata merentas sekatan yang berbeza. Pengimbang beban bertanggungjawab untuk mengedarkan data kepada partition yang berbeza. Pengimbang beban boleh mengedarkan data berdasarkan strategi yang berbeza, seperti pencincangan round-robin, rawak atau konsisten. Contoh Kod Ia boleh digunakan untuk membina pelbagai aplikasi, seperti pengumpulan log, analisis data, pemprosesan aliran masa nyata, dsb. Prinsip pelaksanaan teras Kafka termasuk topik, sekatan, pengeluar mesej, pengguna mesej, storan mesej, replikasi mesej, penyerahan mesej, pengimbangan mesej, kumpulan pengguna dan pengimbangan beban, dsb.

Atas ialah kandungan terperinci Menganalisis prinsip pelaksanaan utama baris gilir mesej Kafka. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan