Ringkasan arsitektur berbasis peristiwa dengan Eventarc

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

Eventarc menawarkan solusi standar untuk mengelola alur perubahan status, yang disebut peristiwa, di antara microservice yang dipisahkan. Saat dipicu, Eventarc akan merutekan peristiwa ini ke berbagai tujuan sambil 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. Misalnya, Anda dapat menambahkan kemampuan berikut:

  • Interoperabilitas antar-stack teknologi yang berbeda

    Replikasi data Anda dan transformasikan sebelum mengirimnya ke sistem analisis.

  • Pemrosesan paralel

    Operasi fan out untuk pemrosesan paralel. Jika memiliki beberapa sistem yang beroperasi berdasarkan perubahan entity, Anda dapat menggunakan streaming berbasis push di setiap konsumen dan merutekan peristiwa ke beberapa konsumen.

  • Streaming 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 dan analisis real-time secara lebih baik.

  • Pemantauan dan pemberitahuan status

    Gunakan arsitektur berbasis peristiwa untuk menambahkan metrik kustom ke operasi database Anda. Pantau dan terima pemberitahuan tentang perubahan dan update. 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 menghasilkan hasil atau efek samping yang tidak terduga saat peristiwa dikirimkan lebih dari sekali. Lihat Mem-build 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.

Lokasi Eventarc dan Firestore dalam mode Datastore

Eventarc tidak mendukung multi-region untuk pemicu peristiwa Firestore, tetapi Anda tetap 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 peristiwa mode Datastore dan mode Native

Eventarc mendukung pemicu peristiwa untuk mode Datastore dan mode Native. Pemicu peristiwa ini dapat dioperasikan secara bersama 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 seluruh database Firestore dari berbagai jenis.

Konversi peristiwa

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

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

Langkah selanjutnya