Ringkasan arsitektur berbasis peristiwa dengan Eventarc

Anda dapat menggunakan Eventarc dan Firestore dalam mode Datastore untuk membangun arsitektur berbasis peristiwa. Firestore dalam mode Datastore menyediakan pemicu untuk Eventarc yang membuat peristiwa dari perubahan pada entity tertentu dalam database Anda. Pemicu dapat mengarahkan peristiwa ke tujuan yang didukung:

Eventarc menawarkan solusi terstandardisasi untuk mengelola alur perubahan status, yang disebut peristiwa, antara microservice yang dipisahkan. Saat dipicu, Eventarc akan mengarahkan peristiwa ini ke berbagai tujuan sekaligus mengelola pengiriman, keamanan, otorisasi, kemampuan observasi, dan penanganan error untuk Anda.

Contoh kasus penggunaan

Arsitektur berbasis peristiwa adalah pola desain sistem tempat layanan bereaksi terhadap perubahan status yang dikenal sebagai peristiwa. Anda dapat menggunakan pola ini bersama dengan skalabilitas Firestore untuk menambahkan lebih banyak fitur ke aplikasi Anda. Misalnya, Anda dapat menambahkan kemampuan berikut:

  • Interoperabilitas antara berbagai technology stack

    Buat replika data Anda dan ubah data tersebut sebelum mengirimkannya ke sistem analisis.

  • Pemrosesan paralel

    Sebarkan operasi untuk pemrosesan paralel. Jika memiliki beberapa sistem yang beroperasi berdasarkan perubahan entitas, Anda dapat menggunakan streaming berbasis push di setiap konsumen dan mengarahkan peristiwa ke beberapa konsumen.

  • Aliran peristiwa berbasis push

    Membuat desain pesan berbasis push. Klien dapat menerima notifikasi tanpa perlu melakukan polling layanan jarak jauh. Tanpa latensi polling, Anda dapat melakukan pemrosesan data secara real time dan analisis real-time dengan lebih baik.

  • Pemantauan dan pemberitahuan status

    Gunakan arsitektur berbasis peristiwa untuk menambahkan metrik kustom ke operasi database Anda. Pantau dan terima pemberitahuan perubahan dan pembaruan. Mendeteksi anomali.

Batasan

Perhatikan batasan berikut untuk pemicu mode Datastore untuk Eventarc:

  • Pengurutan tidak dijamin. Perubahan cepat dapat memicu peristiwa dalam urutan yang tidak terduga.
  • Peristiwa dikirim setidaknya satu kali.

    Pastikan pengendali peristiwa Anda bersifat idempoten dan hindari memberikan hasil atau efek samping yang tidak terduga jika peristiwa ditayangkan lebih dari sekali. Lihat Membangun fungsi idempoten untuk mempelajari lebih lanjut.

  • Pemicu dikaitkan dengan satu database. Anda tidak dapat membuat pemicu yang cocok dengan beberapa database.

  • Menghapus database tidak secara otomatis menghapus pemicu untuk database tersebut. Pemicu berhenti mengirim peristiwa, tetapi akan tetap ada sampai Anda menghapus pemicu.

Eventarc dan Firestore dalam lokasi mode Datastore

Eventarc tidak mendukung multi-region untuk pemicu peristiwa Firestore, tetapi Anda masih dapat membuat pemicu untuk database Firestore di lokasi multi-region. Eventarc memetakan lokasi multi-region Firestore ke region Eventarc berikut:

Firestore multi-region Wilayah Eventarc
nam5 us-central1
eur3 europe-west4

Interoperabilitas mode Datastore dan peristiwa mode Native

Eventarc mendukung pemicu peristiwa untuk mode Datastore dan mode Native. Pemicu peristiwa ini dapat dioperasikan dengan kedua jenis database. Database Firestore dalam mode Native dapat menerima peristiwa Datastore, dan database Firestore dalam mode Datastore dapat menerima peristiwa mode Native.

Interoperabilitas peristiwa memungkinkan Anda membagikan kode Eventarc di berbagai jenis database Firestore.

Konversi peristiwa

Jika Anda menerapkan pemicu peristiwa mode Native ke database mode Datastore, Eventarc akan membuat konversi berikut:

  • Namespace entity disimpan dalam atribut PartitionId peristiwa.
  • Entity tersemat dikonversi ke jenis map mode Native.

Langkah selanjutnya