Udemy

What is Apache Kafka

Tutorial video gratis dari Prashant Kumar Pandey
Architect, Author, Trainer, Founder@ScholarNest.com
Peringkat: 4,6 dari 5Peringkat instruktur
12 kursus
246.407 peserta
What is Apache Kafka

Pelajari selengkapnya dari kursus lengkap

Apache Kafka for absolute beginners

Start Here - Learn Apache Kafka Ecosystem, Architecture, and Client API Programming in Java

Video atas permintaan 05:06:27 • Diperbarui Januari 2024

Apache Kafka Ecosystem, Components and Big Picture
Kafka Architecture and Core Concepts
Multi-node Confluent Community Kafka
Kafka Storage Architecture in depth
Kafka Cluster Architecture in depth
Kafka Producer API Programming in Java
Kafka Consumer API Programming in Java
Idempotence and Transactions in Kafka
JSON and AVRO Serialization
Exactly Once Processing in Kafka
Indonesia [Auto]
Selamat datang di Apache Kafka, Gambaran Besar untuk Pemula. Saya berasumsi bahwa Anda adalah seorang pemula, jadi kita akan mulai dari awal. Dalam kuliah pertama ini, saya akan membahas hal-hal berikut. Mari kita mulai dengan pertanyaan pertama. Apa itu Apache Kafka? Jika Anda melihat dokumentasi Apache Kafka, dikatakan bahwa Apache Kafka adalah platform streaming terdistribusi. Apa artinya? Ini berarti dua hal. Anda dapat menggunakan Apache Kafka untuk membuat satu atau beberapa aliran data real-time. Dan Anda dapat menggunakan Apache Kafka untuk memproses aliran ini dan menghasilkan hasil dalam waktu nyata. Ketika saya mengatakan waktu nyata, yang saya maksudkan adalah menit, detik, dan bahkan milidetik. Anggap saja Anda memiliki meteran listrik pintar di rumah Anda, dan meteran Anda menghasilkan data terkait beban setiap menit. Data ini entah bagaimana masuk ke server Kafka Anda. Jadi server Kafka terus menerus menerima data setiap menit, dari meteran pintar. Demikian pula, server Kafka yang sama menerima data dari meteran lain di kota Anda. Dan semua yang masuk ke server Kafka menghasilkan aliran data yang terus menerus. Inilah yang kami sebut sebagai aliran data waktu nyata. Dan membawa data dari smart meter Anda ke server Kafka Anda adalah apa yang kami sebut sebagai membuat aliran waktu nyata. Setelah data Anda masuk dan mendarat di server Apache Kafka, Anda juga telah membuat aplikasi untuk membaca dan memproses data tersebut. Aplikasi Anda mungkin melakukan berbagai hal. Misalnya, Anda menghitung dan memantau beban listrik keseluruhan untuk setiap rumah. Segera setelah muatan listrik melampaui ambang batas yang telah ditentukan, (katakanlah 2KVA), Anda akan mengirim SMS ke pemilik rumah untuk memperingatkannya. Tetapi peringatan SMS semacam ini tidak masuk akal setelah satu jam, dan Anda ingin mengirim peringatan semacam itu dalam hitungan detik atau setidaknya dalam 2-3 menit. Benar, kan? Jadi, aplikasi Anda tidak mengumpulkan data dan kemudian memprosesnya untuk menghitung, jika ambang batasnya dilanggar. Aplikasi ini harus terus mendengarkan data dan memprosesnya segera setelah data tiba di server Kafka. Dan itulah yang kami sebut sebagai pemrosesan aliran waktu nyata. Jadi jawaban dari pertanyaan pertama adalah ini - Apache Kafka adalah platform yang sangat skalabel dan terdistribusi untuk membuat dan memproses data ekstrem secara real time. Sekarang pertanyaan berikutnya. Bagaimana cara kerjanya? Kafka mengadopsi arsitektur sistem perpesanan Pub/Sub, dan berfungsi sebagai sistem perpesanan perusahaan. Saya harap Anda sudah memahami arsitektur sistem perpesanan perusahaan. Jika tidak, tidak ada yang perlu dikhawatirkan. Saya akan menjelaskannya di sini. Sistem perpesanan pada umumnya memiliki tiga komponen. Produsen, perantara pesan, dan konsumen. Produser adalah aplikasi klien yang mengirimkan catatan data. Catatan data ini disebut pesan. Pialang bertanggung jawab untuk menerima pesan dari produsen dan menyimpannya ke dalam penyimpanan lokal. Akhirnya, konsumen kembali menjadi aplikasi klien yang membaca pesan dari broker dan memprosesnya. Dalam arsitektur ini, broker berada di tengah dan bertindak sebagai perantara antara produsen dan konsumen. Jika Anda ingat contoh smart meter yang sama, sisi kiri sistem, termasuk smart meter Anda, bertindak sebagai penghasil data. Server Kafka di tengah adalah perantara pesan. Terakhir, kotak sisi kanan di mana Anda memiliki aplikasi adalah konsumen. Ini adalah pandangan lima puluh ribu kaki tentang bagaimana Kafka bekerja, tetapi ini menjawab pertanyaan Anda - Bagaimana Kafka bekerja? Kafka bekerja sebagai sistem pesan Pub/Sub, di mana kami membuat aplikasi produser untuk mengirim data sebagai aliran. Kami menginstal dan mengonfigurasi server Kafka untuk bertindak sebagai perantara pesan. Dan terakhir, kami membuat aplikasi konsumen untuk memproses aliran data secara real-time. Itu saja. Pertanyaan berikutnya adalah ini - Dari mana asalnya? Kafka pada awalnya dikonsep dan dikembangkan oleh LinkedIn dan kemudian menjadi sumber terbuka pada tahun 2011. Namun, pada awalnya Kafka dirancang untuk menangani masalah integrasi data. Mari kita coba memahami masalah LinkedIn. Berikut ini adalah diagram yang saya pinjam dari blog Jay Kreps. Jay Kreps memimpin Kafka di LinkedIn, dan sekarang dia adalah CEO Confluent Inc. Jadi diagram ini menjelaskan masalah integrasi data di perusahaan besar. Dalam diagram ini, semua kotak ini berbeda. backend aplikasi. Semuanya menghasilkan dan menyimpan beberapa data. Namun, data yang dihasilkan oleh satu aplikasi sering kali dibutuhkan oleh aplikasi lain. Jadi, Anda memiliki kebutuhan untuk berbagi atau mengirim data dari satu aplikasi ke aplikasi lain. Semua baris ini menunjukkan pergerakan data dari aplikasi sumber ke aplikasi tujuan. Dalam organisasi yang berkembang, jumlah sistem sumber dan tujuan terus bertambah. Akhirnya, Anda akan berakhir dalam situasi seperti ini. Beberapa bagian dari jaringan pipa ini akan terus rusak setiap hari, dan situasinya menjadi sangat berantakan untuk dipelihara. LinkedIn mencoba memecahkan masalah ini dengan menggunakan arsitektur perpesanan Pub/Sub, dan hasilnya terlihat seperti ini. Mereka menempatkan broker di tengah-tengah, dan aplikasi lain mulai bekerja sebagai produsen dan konsumen. Arsitektur ini menawarkan banyak sekali keuntungan dan menyederhanakan solusi ini. Kita akan mempelajari lebih lanjut tentang manfaat arsitektur ini. Namun, Anda sudah mendapatkan jawaban atas pertanyaan tersebut. Dari mana asalnya? Pertanyaan selanjutnya adalah ini - Bagaimana ia berevolusi dari solusi integrasi data menjadi platform streaming. Kafka awalnya memulai dengan dua hal. Perangkat lunak server yang dapat Anda instal dan konfigurasikan untuk bekerja sebagai perantara pesan. Pustaka API klien berbasis Java untuk membantu hal-hal berikut ini. Membuat aplikasi produsen Kafka dan membuat aplikasi konsumen Kafka. Namun kemudian, Kafka bercita-cita untuk menjadi platform streaming real-time yang lengkap. Dan untuk mencapai tujuan tersebut, mereka menambah Kafka dengan tiga komponen lagi. Kafka Connect, Kafka Streams dan KSQL. Kafka connect dan Kafka Streams masih merupakan komponen open source, dan tersedia dengan Apache 2. 0 lisensi. Namun KSQL tersedia dengan beberapa batasan lisensi dan ditawarkan oleh Confluent Inc sebagai alat komersial. Jadi, untuk menjawab pertanyaan Anda, dari tahun 2011 hingga 2019, Kafka berevolusi menjadi satu set yang terdiri dari lima komponen. Kafka broker - Yang merupakan sistem server pusat Kafka Client API - Yang merupakan API Produsen dan Konsumen. Kafka Connect yang mengatasi masalah integrasi data awal yang pada awalnya dirancang untuk Kafka. Kafka streams Yang satu ini adalah pustaka lain untuk membuat aplikasi pemrosesan ekstrem waktu nyata. KSQL dengan KSQL Kafka sekarang bertujuan untuk menjadi basis data real time dan menangkap beberapa ruang berbagi pasar Basis Data dan DW/BI. Akhirnya, pertanyaan terakhir dari kuliah ini. Di mana letaknya dalam ekosistem aplikasi perusahaan? Dengan mengadopsi semantik Pub/Sub, Apache Kafka menjadi sistem sirkulasi ekosistem data Anda. Dalam hal ini, seperti halnya sistem peredaran darah Anda yang membawa darah. Kafka membawa data ke berbagai anggota infrastruktur. Kafka menempati tempat sentral dalam infrastruktur integrasi data real time Anda. Produsen data dapat mengirim data seperti pesan, dan mereka dapat mengirimkannya ke broker Kafka secepat peristiwa bisnis terjadi. Konsumen data dapat mengonsumsi pesan dari broker segera setelah data tiba di broker. Dengan desain yang cermat, pesan dapat sampai dari produsen ke konsumen dalam hitungan milidetik. Produsen dan konsumen benar-benar terpisah, dan mereka tidak memerlukan sambungan yang ketat atau koneksi langsung. Mereka selalu berinteraksi dengan broker Kafka menggunakan antarmuka yang konsisten. Produsen tidak perlu khawatir tentang siapa yang menggunakan data tersebut, dan mereka hanya perlu mengirimkan data sekali tanpa perlu khawatir tentang berapa banyak konsumen yang akan membacanya. Produsen dan konsumen dapat ditambahkan, dihapus, dan dimodifikasi seiring dengan perkembangan bisnis. Bagus! Sekian untuk gambaran umum. Sampai jumpa di kuliah berikutnya. Teruslah belajar dan terus berkembang.