Apache Kafka adalah platform streaming peristiwa populer yang digunakan untuk mengumpulkan, memproses, dan menyimpan data atau data peristiwa streaming yang tidak memiliki awal atau akhir yang terpisah. Kafka memungkinkan generasi baru aplikasi terdistribusi dengan fitur penskalaan menangani miliaran peristiwa yang di-streaming setiap menitnya.
Sebelum hadirnya sistem streaming peristiwa seperti Apache Kafka dan Google Cloud Pub/Sub, pemrosesan data biasanya ditangani dengan tugas batch berkala. Di sini, data mentah terlebih dahulu disimpan dan kemudian diproses pada interval waktu yang arbitrer. Misalnya, perusahaan telekomunikasi mungkin harus menunggu hingga penghujung hari, minggu, atau bulan sebelum dapat menganalisis jutaan catatan panggilan dan menghitung akumulasi tagihan.
Salah satu batasan batch processing adalah pemrosesan tersebut tidak berjalan secara real time. Semakin banyak organisasi yang ingin menganalisis data secara real time untuk membuat keputusan bisnis yang tepat waktu dan mengambil tindakan langsung saat hal yang menarik terjadi. Misalnya, perusahaan telekomunikasi yang disebutkan sebelumnya bisa saja mendapatkan keuntungan dengan memberi tahu pelanggan tentang tagihan mereka secara real time sebagai cara untuk meningkatkan pengalaman pelanggan secara keseluruhan.
Di sinilah kegunaan fitur streaming peristiwa. Streaming peristiwa adalah seluruh pemrosesan streaming peristiwa tak terbatas yang berjalan terus-menerus, sebagaimana peristiwa tersebut dibuat, untuk menangkap nilai waktu data dan membuat aplikasi berbasis push yang mengambil tindakan setiap kali terjadi sesuatu yang menarik. Contoh streaming peristiwa antara lain menganalisis file log dari aplikasi web yang ditampilkan kepada pelanggan secara terus-menerus, memantau dan merespons perilaku pelanggan saat pengguna menjelajahi situs e-commerce, memantau sentimen pelanggan secara terus-menerus dengan menganalisis perubahan data clickstream dari jejaring sosial, atau mengumpulkan dan merespons data telemetri dari perangkat Internet of Things (IoT).
Pelajari Google Cloud Managed Service for Apache Kafka yang mengotomatiskan operasi dan keamanan Kafka, serta memudahkan streaming data ke BigQuery.
Pelajari penawaran Apache Kafka yang terintegrasi dan terkelola sepenuhnya dari Confluent Cloud di Google Cloud.
Siap untuk memulai? Pelanggan baru mendapatkan kredit gratis senilai $300 untuk dibelanjakan di Google Cloud.
Kafka mengambil data streaming dan merekam secara akurat kejadian yang muncul dan waktu kejadiannya. Kumpulan data ini disebut log commit yang tidak dapat diubah. Disebut sebagai tidak dapat diubah karena dapat ditambahi, tetapi tidak dapat dimodifikasi. Dari sana, Anda dapat berlangganan log (mengakses data) dan juga melakukan publikasi ke log (menambahkan lebih banyak data) dari sejumlah aplikasi streaming secara real-time, serta sistem lainnya.
Misalnya, Anda dapat menggunakan Kafka untuk mengambil semua streaming data transaksi dari situs Anda untuk dimasukkan ke aplikasi yang melacak penjualan produk secara real time, membandingkannya dengan jumlah produk yang tersedia, dan memungkinkan pengisian kembali inventaris tepat waktu.
Kafka merupakan platform open source
Hal ini berarti kode sumbernya tersedia secara bebas bagi siapa saja untuk diambil, dimodifikasi, dan didistribusikan dalam versi mereka sendiri, untuk tujuan apa pun. Tidak ada biaya lisensi atau batasan lainnya. Kafka juga mendapatkan manfaat dari adanya komunitas developer global yang saling bekerja sama dan berkontribusi untuk komunitas tersebut. Dengan demikian, Kafka menawarkan berbagai konektor, plugin, alat pemantauan, dan alat konfigurasi sebagai bagian dari ekosistem yang terus berkembang.
Skala dan kecepatan
Kafka tidak hanya menskalakan data dengan volume yang terus meningkat, tetapi juga menyediakan data tersebut di seluruh bisnis secara real time. Manfaat utama lainnya adalah Kafka merupakan platform terdistribusi. Hal ini berarti bahwa pemrosesan terbagi di beberapa komputer—fisik atau virtual. Ada dua keuntungan yang bisa didapatkan: Dengan sedikit penyesuaian, solusi ini dapat melakukan penyebaran skala, yaitu menambahkan komputer saat membutuhkan lebih banyak daya pemrosesan atau penyimpanan, dan dapat diandalkan, karena platform dapat tetap berjalan bahkan jika komputer individu mati. Namun, fitur Kafka ini bisa sangat sulit untuk dikelola dalam skala besar.
Terlepas dari semua keuntungan Kafka, teknologi ini cukup sulit untuk diterapkan. Cluster Kafka lokal sulit disiapkan, diskalakan, dan dikelola dalam produksi. Saat membuat infrastruktur lokal untuk menjalankan Kafka, Anda perlu menyediakan komputer dan mengonfigurasi Kafka di dalamnya. Anda juga harus mendesain cluster komputer terdistribusi untuk memastikan ketersediaan, memastikan data disimpan dan aman, menyiapkan pemantauan, serta menskalakan data secara cermat untuk mendukung perubahan beban. Kemudian, Anda harus memelihara infrastruktur tersebut, mengganti komputer ketika rusak, serta melakukan patching dan upgrade secara rutin.
Anda dapat menggunakan pendekatan alternatif dengan memanfaatkan Kafka sebagai layanan terkelola di cloud. Vendor pihak ketiga akan menangani penyediaan, pembangunan, dan pemeliharaan infrastruktur Kafka. Anda hanya perlu membangun dan menjalankan aplikasi. Hal ini memudahkan Anda men-deploy Kafka tanpa memerlukan keahlian pengelolaan infrastruktur Kafka khusus. Waktu yang Anda habiskan untuk mengelola infrastruktur menjadi lebih singkat, sehingga lebih banyak waktu untuk menciptakan nilai ekonomi bagi bisnis Anda.
Kafka memungkinkan pemrosesan peristiwa streaming melalui lima fungsi inti:
Publikasikan
Sumber data dapat memublikasikan atau menempatkan streaming peristiwa data ke dalam satu atau beberapa topik Kafka, atau pengelompokan peristiwa data yang serupa. Misalnya, Anda dapat mengambil streaming data dari perangkat IoT—seperti, router jaringan—dan memublikasikannya ke aplikasi yang melakukan pemeliharaan prediktif untuk menentukan saat router tersebut kemungkinan akan gagal.
Pemakaian
Aplikasi dapat berlangganan, atau mengambil data dari satu atau beberapa topik Kafka dan memproses streaming data yang dihasilkan. Misalnya, aplikasi dapat mengambil data dari beberapa streaming data media sosial dan menganalisisnya untuk menentukan tenor percakapan online tentang suatu merek.
Proses
Kafka Streams API dapat bertindak sebagai pemroses streaming, dengan menggunakan streaming data yang masuk dari satu atau beberapa topik dan menghasilkan streaming data keluar ke satu atau beberapa topik.
Sambungkan
Anda juga dapat membangun koneksi konsumen atau produsen yang dapat digunakan kembali yang menautkan topik Kafka ke aplikasi yang sudah ada. Terdapat ratusan konektor yang sudah tersedia, termasuk konektor ke layanan utama seperti Dataproc, BigQuery, dan lainnya.
Toko
Apache Kafka menyediakan penyimpanan yang tahan lama. Kafka dapat bertindak sebagai "sumber tepercaya", karena mampu mendistribusikan data ke beberapa node untuk deployment yang sangat tersedia dalam satu pusat data atau di beberapa zona ketersediaan.
Mulailah membangun solusi di Google Cloud dengan kredit gratis senilai $300 dan lebih dari 20 produk yang selalu gratis.