Posts

Showing posts with the label Kafka

Memahami Peran Apache Kafka dalam Event Driven Architecture dengan Spring Boot

Image
Dalam dunia sistem terdistribusi modern, Event-Driven Architecture (EDA) telah menjadi pendekatan yang semakin populer untuk membangun aplikasi yang responsif, skalabel, dan loosely coupled . Salah satu teknologi inti yang mendukung pola ini adalah Apache Kafka , sebuah platform streaming yang dirancang untuk menangani aliran data secara real-time dengan keandalan tinggi. Dengan memanfaatkan Kafka, setiap komponen aplikasi dapat berkomunikasi melalui event , bukan panggilan langsung, sehingga sistem menjadi lebih fleksibel dan mudah dikembangkan. Artikel ini akan membahas secara komprehensif peranan Kafka dalam arsitektur event-driven menggunakan Spring Boot — dimulai dari pemahaman arsitektur Kafka, komponen dan terminologinya, hingga implementasi konkret berbasis Spring Boot yang dapat kamu ikuti langkah demi langkah. Tujuannya adalah agar pembaca tidak hanya memahami konsep, tetapi juga mampu menerapkannya secara praktis dalam pengembangan aplikasi berbasis event. Peranan Kafka pa...

Java Collection dan Java Stream: Studi Kasus Untuk Pengembangan Modern dengan Spring Boot Hibernate dan Kafka

Image
Dalam dunia pengembangan aplikasi modern dengan Spring Boot , Hibernate , dan Apache Kafka , pengelolaan data adalah pondasi utama. Kita berurusan dengan jutaan entitas — mulai dari data user, transaksi, hingga pesan event, semuanya harus disimpan, diakses, dan diproses dengan efisien. Sebelum kita berbicara tentang Spring Boot , Hibernate , atau microservices , ada dua pilar penting yang harus benar-benar dipahami: Java Collection Framework (JCF) sebagai wadah penyimpanan data, dan Java Stream API sebagai cara elegan dan efisien untuk mengalirkannya. Keduanya ibarat “ darah dan alira n” dalam tubuh aplikasi Java.  JCF menyimpan data , sedangkan Stream menggerakkan dan mengolahnya dengan cara yang elegan, efisien, dan deklaratif. Memahami keduanya bukan sekadar teori, tapi keterampilan wajib bagi setiap developer Java yang ingin menulis kode clean, maintainable, dan high-performance di dunia backend modern.   1. Apa Itu Java Collections Framework (JCF)? Java Collection...

Mengenal Apache Kafka dan Integrasi dengan Spring Boot 2

Image
Pada artikel sebelumnya kita sudah menginstal berbagai kebutuhan dari Kafka, Zookeeper, Kakfa Magic dan melengkapi keperluan konfigurasi pada  application.properties , maka pada bagian ini kita siap berkomunikasi dengan Kafka. Maka sekarang, kita dapat melanjutkan dengan menambahkan Producer dan Consumer yang lebih kompleks, sesuai dengan kebutuhan sistem Anda. Berikut adalah contoh implementasi bagian pengujian koneksi Kafka dengan class dan atribut yang lebih kompleks di dalam proyek YBoilerplate yang telah dikonfigurasi dengan Kafka. Kita akan membuat Producer dan Consumer yang menggunakan objek dengan beberapa atribut, alih-alih hanya string sederhana, untuk menggambarkan komunikasi yang lebih realistis antar komponen. Langkah 1: Definisikan Model Data (MessageObject) Buat class sederhana untuk merepresentasikan pesan yang akan dikirim dan diterima melalui Kafka. Misalkan kita memiliki objek MessageObject dengan beberapa atribut: package com.mhyusuf.yboilerplate.model.ka...

Memulai Apache Kafka dengan Spring Boot 1

Image
Apache Kafka ditulis dalam bahasa pemrograman Scala dan Java oleh mantan data engineers di Linkedin pada awal 2011, kemudian teknologi ini diambil alih oleh komunitas sumber terbuka. Sekarang Apache Kafka adalah bagian dari  Confluent Stream Platform  yang menangani jutaan events setiap harinya dan digunakan oleh banyak perusahaan terkemuka.   Untuk kali ini, mari kita mencoba untuk menggunakan Apache Kafka untuk melakukan Produce dan Consume messages dengan menggunakan Spring Boot. Step 1 - Buat Project Spring Boot dengan Intializr Buat Java Maven Project dengan menggunakan Spring  Intializr  sebagai berikut ini. Step 2 - Masukan dependencies yang diperlukan pada project demokafka ini. Generate dan download project sebagai berikut. Step 3 - Extract dan Import ke Eclipse IDE (atau Java IDE apapun yang sesuai dan mendukung Maven). Step 4 - Buat 3 Files, config, restcontroller dan model. Files tamp...