Event Driven Architecture - Kafka Registrations

Training Course Content:

Kafka Fundamental

  • Produsen (Producers): Komponen yang bertanggung jawab untuk menerbitkan pesan ke topik-topik di Kafka.

  • Konsumen (Consumers): Komponen yang berlangganan ke topik-topik untuk menerima dan memproses pesan-pesan dari Kafka.

  • Topik (Topics): Kategori yang digunakan untuk mengorganisasi dan mempartisi pesan-pesan dalam Kafka. Setiap pesan yang diterbitkan oleh produsen dikategorikan ke dalam topik tertentu.

  • Partisi (Partitions): Bagian-bagian terpecah dari topik. Setiap topik dapat dibagi menjadi beberapa partisi yang mendukung pemrosesan paralel dan skala. Setiap partisi memiliki urutan yang teratur dan dikelola secara terpisah.

  • Grup Konsumen (Consumer Groups): Sekumpulan konsumen yang berlangganan ke topik yang sama. Setiap pesan dalam sebuah partisi hanya akan dikonsumsi oleh satu anggota grup konsumen, memungkinkan pemrosesan paralel dalam konsumsi pesan.

  • Kafka Brokers: Server-server dalam kluster Kafka yang bertanggung jawab untuk menerima dan menyimpan pesan-pesan serta menyediakan mekanisme replikasi dan partisi data.

  • Retensi Pesan (Message Retention): Kemampuan Kafka untuk mempertahankan pesan-pesan yang diterbitkan dalam waktu tertentu, bahkan setelah mereka telah dikonsumsi. Retensi pesan memungkinkan pemrosesan ulang dan pemulihan data.

  • Skema (Schema): Format yang digunakan untuk menggambarkan struktur data dalam pesan-pesan. Kafka mendukung berbagai format skema, seperti Avro, JSON, atau Protobuf.

  • Replikasi (Replication): Mekanisme dalam Kafka yang memungkinkan replikasi partisi dan data di antara pialang-pialang untuk tujuan ketahanan dan ketersediaan.

  • Alat Pemantauan (Monitoring Tools): Alat-alat yang tersedia untuk memantau kinerja, latensi, throughput, dan keadaan keseluruhan kluster Kafka, serta melacak statistik dan metrik yang terkait dengan produsen dan konsumen.

  • Alat Manajemen (Management Tools): Alat-alat yang membantu dalam mengelola kluster Kafka, seperti konfigurasi, pengelolaan topik, partisi, dan grup konsumen.

  • Ekosistem Pustaka (Library Ecosystem): Kafka memiliki ekosistem pustaka yang luas yang menyediakan dukungan dan integrasi dengan bahasa pemrograman dan kerangka kerja populer, seperti Java, Python, Scala, dan banyak lagi.

Kafka Config
  • Konfigurasi Broker: Opsi-opsi untuk mengatur perilaku pialang Kafka, seperti identitas broker, port listening, konfigurasi jaringan, dan pengaturan log pesan.

  • Konfigurasi Topik: Opsi-opsi yang berkaitan dengan pengaturan topik, termasuk jumlah partisi, faktor replikasi, kebijakan retensi pesan, strategi pemilihan pemimpin partisi, dan konfigurasi kompresi data.

  • Konfigurasi Produsen: Opsi-opsi yang memengaruhi perilaku produsen, seperti pengaturan tipe pengiriman pesan (acks), timeout, ukuran buffer, dan kebijakan pengiriman ulang.

  • Konfigurasi Konsumen: Opsi-opsi yang mempengaruhi perilaku konsumen, termasuk strategi komit offset, timeout konsumsi, kelompok konsumen, dan pengaturan pembacaan paralel.

  • Konfigurasi Replikasi: Opsi-opsi untuk mengatur replikasi data, termasuk faktor replikasi, jumlah replika minimum yang harus ada, dan pengaturan sinkronisasi replika.

  • Konfigurasi Keamanan: Opsi-opsi yang berkaitan dengan keamanan, seperti konfigurasi SSL/TLS, autentikasi, otorisasi, pengaturan akses pengguna, dan enkripsi data.

  • Konfigurasi Kinerja: Opsi-opsi yang mempengaruhi kinerja Kafka, termasuk ukuran buffer, batas ukuran pesan, pengaturan pemantauan dan pengumpulan metrik, dan konfigurasi pemulihan kesalahan.

  • Konfigurasi Logging: Opsi-opsi untuk mengatur logging dan pengumpulan log di Kafka, termasuk tingkat log, format, lokasi file log, rotasi log, dan konfigurasi pengarsipan log.

  • Konfigurasi Kompresi: Opsi-opsi yang memengaruhi kompresi data dalam Kafka, termasuk jenis kompresi (seperti Gzip, Snappy, atau LZ4), tingkat kompresi, dan pengaturan kompresi per partisi atau topik.

  • Konfigurasi Jaringan: Opsi-opsi yang berkaitan dengan pengaturan jaringan, seperti pengaturan koneksi, timeout, dan batasan bandwidth.

Handling Error Pada Kafka
  • Kafka menyediakan opsi konfigurasi untuk pengaturan retry pada produsen dan konsumen.
  • Monitoring dan log dapat membantu mengidentifikasi dan menangani kesalahan.
  • Pemulihan kesalahan pada konsumen dapat dilakukan melalui mekanisme konfirmasi dan penanganan kesalahan kustom.
  • Pemulihan kesalahan pada produsen dapat melibatkan penggunaan retriable exceptions dan penanganan kesalahan kustom.
  • Monitoring dan penggunaan mekanisme alerting dapat membantu mendeteksi dan menangani kesalahan dengan cepat.

Event sebagai Dasar dari Kolaborasi pada Sistem 
  • Event sebagai basis kolaborasi: Event merupakan peristiwa atau perubahan signifikan dalam sistem yang digunakan sebagai dasar untuk komunikasi dan kolaborasi antara komponen-komponen sistem.

  • Sumber event: Event dapat berasal dari berbagai sumber, termasuk tindakan pengguna, sensor, notifikasi sistem, atau perubahan status aplikasi.

  • Komunikasi asinkron: Komponen-komponen dalam arsitektur berbasis event berkomunikasi secara asinkron, yang berarti mereka tidak harus saling terhubung secara langsung dalam aliran waktu.

  • Produsen dan konsumen: Komponen yang menghasilkan event disebut produsen (producer), sedangkan komponen yang mengonsumsi event disebut konsumen (consumer).

  • Loose coupling: Arsitektur berbasis event memungkinkan komponen-komponen sistem untuk saling bekerja secara terlepas (loosely coupled), tidak bergantung pada adanya aliran langsung antara mereka.

  • Modularitas dan fleksibilitas: Dengan pendekatan event-driven, sistem dapat dibangun secara modular, memungkinkan penambahan, pengurangan, atau perubahan komponen dengan lebih mudah dan fleksibel.

  • Responsif terhadap perubahan: Arsitektur berbasis event memungkinkan sistem untuk merespons perubahan dengan cepat, mengaktifkan komponen-komponen untuk berinteraksi dan bereaksi terhadap event-event yang relevan.

  • Integrasi sistem: Dengan pendekatan event-driven, sistem dapat mengintegrasikan layanan-layanan terdistribusi dan sistem yang berbeda dengan lebih efektif melalui pertukaran event.

  • Alur kerja kompleks: Event-driven architecture memungkinkan pembangunan alur kerja yang kompleks dengan menghubungkan dan mengatur urutan event-event yang terjadi.

  • Adaptif dan skalabel: Dengan mengadopsi arsitektur berbasis event, sistem dapat menjadi lebih adaptif terhadap perubahan bisnis dan dapat diskalakan secara horizontal untuk menangani beban yang lebih besar.

Stateful Proses dan Stateful Service
  • Stateful proses adalah proses atau komponen dalam sistem yang menyimpan dan mempertahankan keadaan di antara pemrosesan yang berbeda.
  • Stateful service adalah layanan dalam arsitektur yang menyimpan dan mengelola keadaan klien atau pengguna di antara permintaan-permintaan yang berbeda.
  • Mereka mempertahankan memori atau konteks yang berkelanjutan untuk menyimpan data dan informasi relevan.
  • Mereka memiliki ketergantungan yang lebih besar terhadap keandalan dan konsistensi data.
  • Stateful proses dan stateful service dapat memberikan pengalaman yang lebih terpersonalisasi dan kompleks.
  • Mereka mungkin lebih sulit untuk diskalakan secara horizontal dibandingkan dengan komponen stateless.
  • Contoh penggunaannya adalah pemrosesan transaksi dan server basis data.
Event Sourcing and CQRS
  • Event Sourcing adalah pendekatan yang merekam perubahan keadaan aplikasi melalui event, memungkinkan pemulihan yang andal dan auditabilitas yang kuat.
  • CQRS adalah pola yang memisahkan operasi perintah dan kueri dalam sistem, mengoptimalkan keduanya secara independen.
  • Event Sourcing dan CQRS sering digabungkan untuk membangun sistem yang skalabel, responsif, dan memiliki riwayat perubahan yang kuat.
  • Event Sourcing memungkinkan pemodelan waktu dan pemulihan perubahan keadaan.
  • CQRS memungkinkan pemisahan dan optimalisasi operasi perintah dan kueri.
  • Kombinasi Event Sourcing dan CQRS memberikan fleksibilitas, performa, dan pemodelan yang baik pada sistem.

Training Fee: Rp. 10,000,000 per person for 5 sessions, each session lasting 2 hours. The class requires a minimum of 5 participants and a maximum of 10 participants.

Online Class Facilities:

  1. Handbook
  2. Training sessions
  3. Live coding practice
  4. Coaching
  5. Daily assignments
  6. Final training project
  7. Recorded videos of the training sessions provided at the end, along with a certificate.
  8. Certificate from The Legend Foundation

Schedule Options:

  1. Every first week of the month - Evening class from 18:00 to 21:00
  2. Every fourth week of the month - Evening class from 18:00 to 21:00
  3. Saturday and Sunday - Morning class from 08:00 to 10:00

Please register first. Once the required number of participants is confirmed, you will be requested to make the payment. After all participants have made the payment, the learning sessions will commence.

For further information, please contact the following: 

  1. Deni Husni FR at +62 821-1741-9014 
  2. The Legend Foundation at +62 857-2214-7021

Sign in to Google to save your progress. Learn more
Nama Peserta *
Alamat Email *
No Tlp *
Pendidikan Terakhir *
Nama Sekolah - Terakhir *
Pemilihan Jadwal *
Harapan dari Training (Tuliskan harapan Anda dengan mengikuti training ini) *
Submit
Clear form
Never submit passwords through Google Forms.
This form was created inside of The Legend Foundation. Report Abuse