Apa itu streaming peristiwa?

Bentuk abstrak dari bangunan arsitektur modern

Apa itu streaming peristiwa?

Streaming peristiwa adalah praktik menangkap data real-time dari aplikasi, basis data, dan perangkat IoT dan mengirimkannya ke berbagai tujuan untuk pemrosesan dan penyimpanan langsung, atau untuk analisis real-time dan pelaporan analitik.

Sebagai fungsi utama dalam Pemrosesan Streaming Peristiwa (ESP), streaming peristiwa memungkinkan infrastruktur TI untuk menangani aliran peristiwa yang besar dan terus menerus dengan memproses data saat peristiwa atau perubahan terjadi.

Streaming peristiwa sering kali berfungsi sebagai pelengkap pemrosesan batch, yang bekerja pada kumpulan data statis yang besar (atau “data yang tidak aktif”). Namun, alih-alih memproses data dalam batch, streaming acara menangani titik data tunggal saat muncul. Pendekatan ini memungkinkan perangkat lunak dalam arsitektur untuk menafsirkan dan merespons aliran data (“data bergerak”) secara real time.

Layanan streaming peristiwa berkinerja tinggi dapat mendukung berbagai tugas sederhana dan kompleks, mulai dari mengirim pemberitahuan saat stok atau harga produk berubah hingga membangun model machine learning real-time yang mendeteksi aktivitas pengguna yang mencurigakan. Bahkan dalam kasus pemrosesan batch, streaming peristiwa dapat menambah kedalaman analisis data dengan menghubungkan peristiwa dengan stempel waktu masing-masing. Hal ini juga membantu mengidentifikasi tren historis, memberikan insight yang berharga dari waktu ke waktu.

Desain 3D bola yang menggelinding di lintasan

Berita + Insight AI terbaru 


Temukan insight dan berita yang dikurasi oleh para pakar tentang AI, cloud, dan lainnya di Buletin Think mingguan. 

Apa itu peristiwa?

Streaming peristiwa berkisar pada aliran catatan data yang tidak terbatas, berurutan, dan real-time, yang disebut "peristiwa”, struktur data dasar yang merekam kejadian apa pun di sistem atau lingkungan. Ini adalah istilah yang pada dasarnya mengacu pada setiap titik data dalam sistem. Oleh karena itu, “aliran” (juga disebut aliran data atau data streaming) adalah pengiriman berkelanjutan dari peristiwa tersebut.

Setiap peristiwa biasanya memiliki kunci yang mengidentifikasi peristiwa atau entitas terkait, serta nilai yang menyimpan data aktualnya. Peristiwa juga mencakup stempel waktu yang menunjukkan kapan peristiwa terjadi atau dicatat, dan terkadang metadata tentang sumber data, versi skema, atau atribut lainnya.

Dengan bantuan mesin pengolah stream khusus, peristiwa dapat mengalami beberapa proses berbeda dalam stream. “Agregasi” melakukan perhitungan data, seperti rata-rata, jumlah, dan standar deviasi. “Ingestion” menambahkan data streaming ke database. Pemrosesan analisis menggunakan pola dalam streaming data untuk memprediksi kejadian di masa depan, dan pemrosesan pengayaan menggabungkan titik data dengan sumber data lain untuk memberikan konteks dan menciptakan makna.

Peristiwa sering kali terkait dengan operasi bisnis atau proses navigasi pengguna dan biasanya memicu tindakan, proses, atau rangkaian peristiwa lain. Ambil perbankan online, sebagai salah satu contoh.

Ketika pengguna mengklik “transfer” untuk mengirim uang dari satu rekening bank ke rekening bank lain, dana ditarik dari akun pengirim dan ditambahkan ke rekening bank penerima. Pemberitahuan email atau SMS dikirim ke salah satu (atau kedua) pihak, dan jika perlu, protokol pencegahan keamanan dan penipuan diterapkan.

Mixture of Experts | 12 Desember, episode 85

Decoding AI: Rangkuman Berita Mingguan

Bergabunglah dengan panel insinyur, peneliti, pemimpin produk, dan sosok kelas dunia lainnya selagi mereka mengupas tuntas tentang AI untuk menghadirkan berita dan insight terbaru seputar AI.

Komponen utama streaming peristiwa

Acara adalah komponen utama dari streaming acara. Namun, satu set komponen lain memungkinkan layanan streaming untuk memproses acara secepat dan efektif seperti yang mereka lakukan. Komponen vital lainnya meliputi:

Broker

Broker, atau broker pesan, adalah server yang menjalankan platform streaming peristiwa. Broker pesan memungkinkan aplikasi, sistem, dan layanan untuk berkomunikasi satu sama lain dan bertukar informasi. Server ini mencapai fungsi ini dengan mengonversi pesan antara protokol pesan formal. Hal ini memungkinkan layanan yang saling bergantung “untuk berbicara” satu sama lain secara langsung, meskipun ditulis dalam bahasa yang berbeda (Java atau Python, misalnya) atau diimplementasikan pada platform yang berbeda. Server ini juga memfasilitasi pemisahan proses dan layanan dalam sistem.

Broker dapat memvalidasi, menyimpan, merutekan, dan mengirimkan pesan ke tujuan yang sesuai. Dalam sistem streaming peristiwa terdistribusi, broker memastikan latensi rendah dan ketersediaan tinggi dengan mereplikasi peristiwa di beberapa node. Broker juga dapat membentuk kluster —kumpulan broker yang bekerja sama untuk penyeimbangan beban dan skalabilitas yang lebih mudah.

Topik

Topik adalah kategorisasi atau nama feed yang digunakan untuk mempublikasikan peristiwa, yang menyediakan cara untuk mengatur dan memfilter peristiwa di dalam platform. Topik bertindak sebagai "subjek" untuk peristiwa, sehingga konsumen dapat berlangganan topik dan hanya menerima peristiwa yang relevan.

Partisi

Topik dapat dibagi lebih lanjut ke dalam beberapa partisi, sehingga beberapa konsumen dapat membaca dari sebuah topik secara bersamaan tanpa mengganggu urutan setiap partisi.

Offset

Offset adalah pengenal unik untuk setiap peristiwa dalam partisi, yang menandai posisi peristiwa dalam urutan. Konsumen menggunakan offset untuk mengatur peristiwa yang telah mereka proses. Jika, misalnya, konsumen memutuskan koneksi dari sebuah peristiwa dan kemudian menyambung kembali, maka acara tersebut dapat melanjutkan pemrosesan dari offset terakhir yang diketahui.

Bagaimana cara kerja streaming peristiwa?

Mengingat proliferasi data—dan lonjakan lalu lintas data yang diakibatkan—streaming acara merupakan komponen penting dari arsitektur data modern. Ini sangat berharga di lingkungan yang membutuhkan kemampuan pengambilan keputusan secepat kilat atau dalam organisasi yang bertujuan untuk mengotomatiskan tanggung jawab pengambilan keputusan.

Berikut cara layanan streaming peristiwa mengelola data peristiwa:

  1. Pembuatan peristiwa. Streaming peristiwa dimulai ketika produsen (layanan mikro, sistem backend, ekosistem IoT, atau APIyang digerakkan oleh peristiwa, misalnya) mengirim acara ke platform streaming peristiwa.

  2. Penerbitan peristiwa. Dengan menggunakan pustaka klien, produsen menerbitkan peristiwa ke topik tertentu dalam platform, yang kemudian peristiwa tersebut tersedia bagi konsumen (aplikasi dan layanan yang berlangganan topik tersebut).

  3. Penyimpanan peristiwa. Platform ini menyimpan peristiwa untuk periode yang telah ditentukan atau sampai peristiwa tersebut dikonsumsi, dengan broker yang mengelola proses penyimpanan dan pengambilan peristiwa.

  4. Konsumsi peristiwa. Konsumen memproses data peristiwa untuk memulai peristiwa lainnya. Bergantung pada tujuan atau konfigurasinya, mereka dapat menindaklanjuti peristiwa segera setelah peristiwa itu tiba (pemrosesan waktu nyata), menyimpannya untuk diproses nanti, atau mengkompilasinya untuk pemrosesan batch. Konsumen juga dapat melacak posisi mereka dalam pipeline data dengan menggunakan offset, sehingga mereka dapat melanjutkan pemrosesan dari titik terakhir mereka, jika terjadi kegagalan atau restart.

  5. Pengiriman peristiwa. Pialang acara secara aktif mendistribusikan peristiwa ke semua konsumen yang berlangganan. Hal ini memastikan pengiriman peristiwa dengan "semantik setidaknya sekali", sehingga setiap peristiwa mencapai tujuannya meskipun ada duplikasi. Mereka juga dapat mendukung "pengiriman tepat sekali", yang menjamin setiap peristiwa dikirim satu kali saja, atau jenis semantik lainnya.

  6. Pemrosesan peristiwa. Setelah peristiwa awal dikonsumsi dan dikirim, data peristiwa diproses untuk beberapa tindakan hilir, termasuk mengubah data, mengumpulkannya, dan memicu alur kerja pemrosesan peristiwa kompleks (CEP).

Fitur streaming peristiwa

Selain streaming dan pemrosesan standar, platform streaming peristiwa—seperti Amazon Kinesis, Google Pub/Sub, Azure Event Hubs, dan IBM® Event Automation—mendukung berbagai praktik streaming yang meningkatkan fungsionalitas. IBM® Event Automation khususnya memanfaatkan kemampuan pemrosesan Apache Kafka sebagai platform sumber terbuka untuk mengoptimalkan alur kerja berbasis peristiwa.

Pemrosesan exactly-once

Semantik pengiriman exactly-once memastikan bahwa setiap peristiwa dalam stream diproses tepat sekali, sebuah fitur penting untuk mencegah duplikasi dan peristiwa stream yang hilang. Sebagian besar sistem streaming peristiwa menyertakan mekanisme untuk menyediakan semantik exactly-once, terlepas dari kegagalan di tempat lain dalam sistem.

Tekanan balik

Ketika komponen hilir tidak dapat mengimbangi laju kejadian yang masuk, tekanan balik mencegah stream membanjiri sistem. Dengan tekanan balik, sebuah mekanisme kontrol aliran data, konsumen dapat memberi sinyal kepada produsen untuk mengurangi atau menghentikan produksi data ketika mereka kewalahan dalam memproses data atau tidak dapat mengikuti peristiwa yang masuk.

Proses ini memungkinkan sistem menangani beban kerja dengan anggun dengan menyangga atau menjatuhkan peristiwa masuk—alih-alih mengganggu seluruh sistem—sehingga pemrosesan peristiwa tetap stabil saat beban kerja berfluktuasi.

Kelompok konsumen

Konsumen peristiwa sering kali bekerja sebagai bagian dari kelompok konsumen untuk mempercepat konsumsi peristiwa. Setiap konsumen dalam grup konsumen diberi subset partisi untuk diproses, sehingga konsumsi dapat diparalelkan demi efisiensi yang lebih baik. Jika satu konsumen dalam grup gagal atau perlu ditambahkan atau dihapus, platform dapat secara dinamis menetapkan kembali partisi untuk menjaga keseimbangan dan toleransi kesalahan.

Penandaan air

Streaming peristiwa sering berarti memproses data dengan cara yang sensitif terhadap waktu. Watermarking memungkinkan pelacakan kemajuan (dengan menggunakan waktu peristiwa) dalam sistem pemrosesan aliran. Ini memberlakukan ambang kelengkapan yang menunjukkan kapan sistem dapat mempertimbangkan data peristiwa diproses sepenuhnya. Penandaan air juga dapat berguna untuk memastikan akurasi dalam pemrosesan berbasis waktu dan untuk merekonsiliasi peristiwa yang tidak berurutan.

Retensi dan pemadatan data

Sebagian besar platform streaming peristiwa menawarkan kebijakan retensi data yang dapat disesuaikan yang memungkinkan pengembang mengontrol berapa lama peristiwa tersedia untuk dikonsumsi. Pemadatan data, sementara itu, adalah proses yang menghapus data yang redundan atau usang dari topik, menjaga jejak penyimpanan tetap minimal sambil mempertahankan data penting.

Perlu dicatat, sekali lagi, bahwa arsitektur streaming standar biasanya memisahkan produsen peristiwa, perantara peristiwa, dan konsumen, sehingga komponen dapat diskalakan dan dipelihara secara independen.

Contoh penggunaan streaming peristiwa

Streaming peristiwa merupakan konsep penting yang memungkinkan organisasi menggunakan data saat data tersebut dihasilkan, sehingga menciptakan sistem yang lebih responsif dan cerdas. Dengan meningkatnya pengambilan keputusan berbasis data, streaming peristiwa menjadi komponen yang makin penting dalam arsitektur perangkat lunak modern.

Oleh karena itu, teknologi streaming acara memiliki berbagai contoh penggunaan di seluruh sektor bisnis, termasuk:

Layanan perbankan dan keuangan

Institusi keuangan dapat menggunakan layanan streaming peristiwa untuk memproses data pasar secara real time, sehingga memungkinkan sistem trading algoritmik membuat keputusan sepersekian detik berdasarkan kondisi pasar terkini. Kemampuan pemantauan real-time streaming peristiwa juga membantu institusi dengan cepat mengidentifikasi dan mengatasi risiko penipuan dan keamanan.

Manufaktur

Streaming peristiwa dapat memfasilitasi optimalisasi rantai pasokan dengan memungkinkan produsen melacak bahan dan produk saat bergerak melalui rantai pasokan untuk mengidentifikasi kemacetan dan inefisiensi proses. Selain itu, dengan mengalirkan data dari sensor IoT/IIoT pada mesin, manajer dapat memprediksi kapan dan mengapa peralatan mungkin gagal dan melakukan pemeliharaan preventif atau pemeliharaan prediktif untuk menghindari waktu henti yang tidak direncanakan.

Game dan hiburan

Platform game online dapat menggunakan layanan streaming peristiwa untuk melacak tindakan pemain dan perubahan status game, yang dapat digunakan untuk menjalankan analisis game, menegakkan kebijakan anti-kecurangan, dan meningkatkan keterlibatan pemain. Platform streaming dapat memanfaatkan data peristiwa untuk memberikan rekomendasi konten yang dipersonalisasi bagi pengguna dan menciptakan pengalaman pelanggan yang disesuaikan.

Transportasi dan logistik

Streaming peristiwa dapat digunakan untuk melacak lokasi dan status kendaraan, memungkinkan perutean waktu nyata berdasarkan kondisi lalu lintas, jadwal pengiriman, dan kinerja kendaraan. Perusahaan logistik juga dapat menggunakan data peristiwa dari perangkat pemindaian dan pelacak GPS untuk memberikan informasi terkini kepada pelanggan tentang status pengiriman ecommerce mereka.

Penggunaan dalam arsitektur berbasis peristiwa dan pola lainnya

Di luar industri yang spesifik, streaming peristiwa juga dapat berguna ketika digunakan bersama dengan teknologi dan arsitektur lainnya. Misalnya, streaming peristiwa terkadang dikaitkan dengan pola seperti sumber peristiwa dan pemisahan tanggung jawab kueri perintah (CQRS).

Pengadaan peristiwa adalah pola arsitektur di mana perubahan status aplikasi disimpan sebagai urutan peristiwa. Digunakan bersama event streams, sumber peristiwa memungkinkan sistem streaming untuk memutar ulang peristiwa ini untuk merekonstruksi status entitas pada titik waktu mana pun atau untuk menggerakkan komponen sistem lainnya.

Dalam pola arsitektur CQRS, sistem dibagi menjadi dua model yang berbeda: satu yang menangani perintah (menulis) dan satu lagi yang menangani kueri (membaca). Streaming peristiwa dapat digunakan dalam CQRS untuk menyebarkan perubahan dari model tulis ke model baca secara real time, sehingga memungkinkan integrasi asinkron di antara keduanya.

Streaming peristiwa juga merupakan teknologi dasar untuk membangun arsitektur berbasis peristiwa.

Arsitektur yang digerakkan oleh peristiwa memungkinkan komponen yang digabungkan secara longgar untuk berkomunikasi melalui peristiwa. Alih-alih menerbitkan aliran acara ke broker, ia menerbitkan acara tujuan tunggal yang dapat digunakan aplikasi atau layanan lain untuk melakukan tindakan secara bergantian. Kekuatan pemrosesan in-stream yang disediakan oleh arsitektur berbasis peristiwa—digunakan bersama dengan kemampuan streaming peristiwa—dapat memungkinkan bisnis untuk merespons data yang bergerak dan membuat keputusan cepat berdasarkan semua data saat ini dan historis.

Dalam beberapa tahun terakhir, penyedia cloud (termasuk IBM Cloud) telah mulai menawarkan prinsip-prinsip streaming peristiwa sebagai layanan. Streaming peristiwa sebagai layanan memudahkan bisnis untuk mengadopsi streaming peristiwa tanpa mengelola seluruh infrastruktur yang mendasarinya, sehingga makin memperluas contoh penggunaan streaming peristiwa.

Solusi terkait
IBM Event Automation

IBM Event Automation adalah solusi yang dapat disusun untuk membantu mempercepat upaya yang digerakkan oleh peristiwa bisnis dengan kemampuan distribusi, penemuan, dan pemrosesan peristiwa.

Jelajahi IBM Event Automation
Layanan konsultasi otomatisasi

Bergerak melampaui otomatisasi tugas sederhana untuk menangani proses dengan profil tinggi, yang berhadapan langsung dengan pelanggan, dan menghasilkan pendapatan dengan adopsi dan skala bawaan.

Jelajahi layanan konsultasi otomatisasi
Solusi AIOps

Temukan cara AI untuk operasi TI memberikan insight yang Anda butuhkan untuk membantu mendorong kinerja bisnis yang luar biasa.

Jelajahi solusi AIOps
Ambil langkah selanjutnya

Mempercepat pengambilan keputusan dan operasi dengan menemukan tren, ancaman, dan peluang baru.

 

Jelajahi IBM Event Automation Ikuti tur mandiri