Ringkasan Eventarc Standard

Eventarc memungkinkan Anda mem-build arsitektur berbasis peristiwa tanpa harus menerapkan, menyesuaikan, atau memelihara infrastruktur yang mendasarinya.

Eventarc ditawarkan dalam dua edisi: Eventarc Advanced dan Eventarc Standard. Kedua edisi menawarkan solusi peristiwa yang skalabel, serverless, dan terkelola sepenuhnya yang memungkinkan Anda merutekan peristiwa secara asinkron dari sumber ke target. Untuk informasi selengkapnya, lihat Memilih Eventarc Advanced atau Eventarc Standard.

Eventarc Standard menawarkan solusi standar untuk mengelola alur perubahan status, yang disebut peristiwa, di antara microservice yang dipisahkan. Saat dipicu, Eventarc Standard akan merutekan peristiwa ini ke berbagai tujuan (dalam dokumen ini, lihat Tujuan peristiwa) sambil mengelola pengiriman, keamanan, otorisasi, kemampuan observasi, dan penanganan error untuk Anda.

Anda dapat mengelola Eventarc dari konsol Google Cloud, dari command line menggunakan gcloud CLI, atau dengan menggunakan Eventarc API.

Eventarc merutekan peristiwa dari penyedia peristiwa ke tujuan peristiwa.
Eventarc Standard memungkinkan Anda merutekan peristiwa dari penyedia peristiwa ke tujuan peristiwa (klik diagram untuk memperbesar).

1 Peristiwa dari penyedia Google dikirim langsung dari sumber (misalnya, Cloud Storage) atau melalui entri Cloud Audit Logs, dan menggunakan Pub/Sub sebagai lapisan transpor. Peristiwa dari sumber Pub/Sub dapat menggunakan topik Pub/Sub yang ada atau Eventarc akan otomatis membuat topik dan mengelolanya untuk Anda.

2 Peristiwa untuk tujuan Google Kubernetes Engine (GKE)—termasuk layanan penayangan Knative yang berjalan di cluster GKE—menggunakan penerusan peristiwa Eventarc untuk mengambil peristiwa baru dari Pub/Sub dan meneruskannya ke tujuan. Komponen ini bertindak sebagai mediator antara lapisan transpor Pub/Sub dan layanan target. Fitur ini berfungsi pada layanan yang ada dan juga mendukung layanan sinyal (termasuk yang tidak diekspos di luar cluster yang dikelola sepenuhnya) sekaligus menyederhanakan penyiapan dan pemeliharaan. Perhatikan bahwa siklus proses penerusan peristiwa dikelola oleh Eventarc, dan jika Anda tidak sengaja menghapus penerusan peristiwa, Eventarc akan memulihkan komponen ini.

3 Peristiwa untuk eksekusi alur kerja diubah dan diteruskan ke alur kerja sebagai argumen runtime. Alur kerja dapat menggabungkan dan mengatur Google Cloud dan layanan API berbasis HTTP dalam urutan yang Anda tentukan.

4 Semua fungsi berbasis peristiwa di fungsi Cloud Run menggunakan pemicu Eventarc untuk mengirimkan peristiwa. Anda dapat mengonfigurasi pemicu Eventarc saat men-deploy fungsi Cloud Run menggunakan antarmuka fungsi Cloud Run.

Kasus penggunaan utama

Eventarc mendukung banyak kasus penggunaan untuk aplikasi tujuan. Berikut beberapa contohnya:

Mengonfigurasi dan memantau
  • Konfigurasi sistem: Menginstal alat pengelolaan konfigurasi di VM baru saat dimulai.
  • Remediasi otomatis: Mendeteksi apakah layanan tidak merespons dengan benar dan memulai ulang layanan secara otomatis.
  • Pemberitahuan dan notifikasi: Memantau saldo alamat dompet mata uang kripto dan memicu notifikasi.
Menyelaraskan
  • Pendaftaran direktori: Mengaktifkan badge karyawan saat karyawan baru bergabung dengan perusahaan.
  • Sinkronisasi data: Memicu alur kerja akuntansi saat prospek dikonversi di sistem CRM.
  • Pemberian label resource: Memberi label dan mengidentifikasi pembuat VM saat VM dibuat.
Analisis
  • Analisis sentimen: Gunakan Cloud Natural Language API untuk melatih dan men-deploy model ML yang melampirkan skor kepuasan ke tiket layanan pelanggan saat selesai.
  • Retouching dan analisis gambar: Menghapus latar belakang dan otomatis mengategorikan gambar saat retailer menambahkannya ke penyimpanan objek.

Acara

Peristiwa adalah data yang menunjukkan kemunculan dan konteksnya. Peristiwa adalah unit komunikasi terpisah, yang tidak bergantung pada peristiwa lain. Misalnya, peristiwa dapat menunjukkan perubahan pada data dalam database, file yang ditambahkan ke sistem penyimpanan, atau tugas terjadwal.

Lihat Jenis peristiwa Google yang didukung oleh Eventarc.

Penyedia peristiwa

Peristiwa dirutekan dari penyedia peristiwa (sumber) ke konsumen peristiwa yang berminat. Pemilihan rute dilakukan berdasarkan informasi yang terdapat dalam peristiwa, tetapi peristiwa tidak mengidentifikasi tujuan pemilihan rute tertentu. Eventarc mendukung peristiwa dari lebih dari 130 penyedia Google. Penyedia ini mengirim peristiwa (misalnya, update pada objek di bucket Cloud Storage atau pesan yang dipublikasikan ke topik Pub/Sub) langsung dari sumber, atau melalui entri Cloud Audit Logs.

Tujuan peristiwa

Peristiwa dirutekan ke tujuan tertentu (target) yang dikenal sebagai penerima (atau konsumen) peristiwa melalui langganan push Pub/Sub.

Cloud Run

Pelajari cara mem-build layanan penerima peristiwa yang dapat di-deploy ke Cloud Run.

Untuk menentukan cara terbaik merutekan peristiwa ke layanan Cloud Run, lihat Rute peristiwa.

Fungsi Cloud Run

Semua fungsi berbasis peristiwa di fungsi Cloud Run menggunakan pemicu Eventarc untuk mengirimkan peristiwa. Pemicu Eventarc memungkinkan fungsi dipicu oleh jenis peristiwa apa pun yang didukung oleh Eventarc. Anda dapat mengonfigurasi pemicu Eventarc saat men-deploy fungsi Cloud Run menggunakan antarmuka fungsi Cloud Run.

GKE

Eventarc mendukung pembuatan pemicu yang menargetkan layanan Google Kubernetes Engine (GKE). Hal ini mencakup endpoint publik layanan pribadi dan publik yang berjalan di cluster GKE.

  • Agar Eventarc dapat menargetkan dan mengelola layanan di cluster tertentu, Anda harus memberikan izin yang diperlukan kepada akun layanan Eventarc.

  • Anda harus mengaktifkan Workload Identity Federation for GKE di cluster GKE tempat layanan tujuan berjalan. Workload Identity Federation untuk GKE diperlukan untuk menyiapkan forwarder peristiwa dengan benar dan merupakan cara yang direkomendasikan untuk mengakses layanan Google Cloud dari aplikasi yang berjalan dalam GKE karena properti keamanan dan pengelolaannya yang lebih baik. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan Workload Identity.

Endpoint HTTP internal dalam jaringan VPC

Anda dapat mengonfigurasi pemilihan rute peristiwa ke endpoint HTTP internal di jaringan Virtual Private Cloud (VPC). Untuk mengonfigurasi pemicu, Anda juga harus memberikan ID lampiran jaringan. Untuk mengetahui informasi selengkapnya, lihat Merutekan peristiwa ke endpoint HTTP internal dalam jaringan VPC.

Workflows

Anda dapat memicu eksekusi alur kerja. Alur kerja memerlukan email akun layanan IAM yang akan digunakan pemicu Eventarc untuk memanggil eksekusi alur kerja. Sebaiknya gunakan akun layanan dengan hak istimewa terendah yang diperlukan untuk mengakses resource yang diperlukan. Untuk informasi selengkapnya, lihat Membuat dan mengelola akun layanan.

Format dan library peristiwa

Eventarc mengirimkan peristiwa, terlepas dari penyedianya, ke tujuan target dalam format CloudEvents menggunakan permintaan HTTP dalam mode konten biner. CloudEvents adalah spesifikasi untuk mendeskripsikan metadata peristiwa dengan cara yang umum.

Bergantung pada penyedia peristiwa, Anda dapat menentukan encoding data payload peristiwa sebagai application/json atau application/protobuf. Buffering Protokol (atau Protobuf) adalah mekanisme yang dapat diperluas dan tidak bergantung pada bahasa dan platform untuk membuat serialisasi data terstruktur. Perhatikan hal berikut:

  • Untuk sumber kustom atau penyedia pihak ketiga, atau untuk peristiwa langsung dari Pub/Sub, opsi pemformatan ini tidak didukung.
  • Payload peristiwa yang diformat dalam JSON lebih besar daripada yang diformat dalam Protobuf, dan hal ini dapat memengaruhi keandalan, bergantung pada tujuan peristiwa dan batas ukuran peristiwanya. Untuk mengetahui informasi selengkapnya, baca Masalah umum.

Tujuan target seperti fungsi Cloud Run, Cloud Run, dan GKE menggunakan peristiwa dalam format HTTP. Untuk tujuan Workflows, layanan Workflows mengonversi peristiwa menjadi objek JSON, dan meneruskan peristiwa ke dalam eksekusi alur kerja sebagai argumen runtime.

Menggunakan cara standar untuk mendeskripsikan metadata peristiwa akan memastikan konsistensi, aksesibilitas, dan portabilitas. Konsumen peristiwa dapat membaca peristiwa ini secara langsung, atau Anda dapat menggunakan Library Klien Cloud dalam berbagai bahasa (termasuk C++, C#, Go, Java, Node.js, PHP, Python, dan Ruby) untuk membaca dan mengurai peristiwa. Ada juga serangkaian CloudEvents SDK khusus bahasa.

Struktur isi HTTP untuk semua peristiwa tersedia di repositori GitHub Google CloudEvents.

Eventarc mengirimkan peristiwa dalam format CloudEvents. Anda dapat membaca peristiwa secara langsung, atau menggunakan SDK atau library Google CloudEvents untuk mengurai peristiwa.
Gambar 2. Eventarc mengirimkan peristiwa dalam format CloudEvents ke tujuan peristiwa. Anda dapat membaca peristiwa ini secara langsung, atau menggunakan CloudEvents SDK atau library Google untuk membaca dan mengurai peristiwa.

Kompatibilitas mundur

Eventarc menganggap penambahan atribut dan kolom berikut kompatibel dengan versi sebelumnya:

  • Atribut pemfilteran opsional atau atribut khusus output
  • Kolom opsional ke payload peristiwa

Pemicu Eventarc

Peristiwa terjadi terlepas dari apakah tujuan target bereaksi terhadapnya atau tidak. Anda membuat respons terhadap peristiwa dengan pemicu. Pemicu adalah pernyataan bahwa Anda tertarik pada suatu peristiwa atau rangkaian peristiwa tertentu. Saat membuat pemicu, Anda menentukan filter untuk pemicu yang memungkinkan Anda merekam dan menindaklanjuti peristiwa tertentu tersebut, termasuk pemilihan rutenya dari sumber peristiwa ke tujuan target. Untuk informasi selengkapnya, lihat Representasi REST resource pemicu dan Penyedia dan tujuan peristiwa.

Perhatikan bahwa langganan Pub/Sub yang dibuat untuk Eventarc akan tetap ada terlepas dari aktivitasnya dan tidak akan habis masa berlakunya. Untuk mengubah properti langganan, lihat Properti langganan.

Eventarc mendukung pemicu untuk jenis peristiwa berikut:

Peristiwa Cloud Audit Logs (CAL)
DeskripsiCloud Audit Logs menyediakan log audit Aktivitas Admin dan Akses Data untuk setiap project, folder, dan organisasi Cloud. Layanan Google Cloud menulis entri ke log ini. Anda dapat membuat filter untuk pemicu Eventarc menggunakan nilai serviceName dan methodName dalam log audit. Untuk mengetahui nilai yang tepat, lihat layananGoogle Cloud dengan log audit. Untuk mengetahui informasi selengkapnya, lihat Menentukan filter peristiwa untuk Cloud Audit Logs.
Jenis filter peristiwaPemicu Eventarc dengan type=google.cloud.audit.log.v1.written mengirim permintaan ke layanan atau alur kerja Anda saat log audit dibuat yang cocok dengan kriteria filter pemicu.
Peristiwa langsung
DeskripsiEventarc dapat dipicu oleh berbagai peristiwa langsung seperti update pada bucket Cloud Storage, update pada template Firebase Remote Config, atau perubahan pada resource di Google Cloud service.

Eventarc juga dapat dipicu oleh pesan yang dipublikasikan ke topik Pub/Sub. Pub/Sub adalah bus pesan yang didistribusikan secara global yang secara otomatis diskalakan sesuai kebutuhan Anda. Karena Eventarc dapat dipanggil oleh pesan pada topik Pub/Sub, Anda dapat mengintegrasikan Eventarc dengan layanan lain yang mendukung Pub/Sub sebagai tujuan.

Jenis filter peristiwaPemicu Eventarc dengan jenis filter peristiwa tertentu mengirim permintaan ke layanan atau alur kerja Anda saat peristiwa terjadi yang cocok dengan kriteria filter pemicu; misalnya, type=google.cloud.storage.object.v1.finalized (saat objek dibuat di bucket Cloud Storage), atau type=google.cloud.pubsub.topic.v1.messagePublished (saat pesan dipublikasikan ke topik Pub/Sub yang ditentukan).

Lokasi pemicu

LayananGoogle Cloud seperti Cloud Storage dapat disiapkan untuk bersifat regional atau multi-regional. Beberapa layanan, seperti Cloud Build, dapat disiapkan secara global.

Eventarc memungkinkan Anda membuat pemicu regional atau, untuk beberapa peristiwa, Anda dapat membuat pemicu global dan menerima peristiwa dari semua region. Untuk mengetahui informasi selengkapnya, lihat Memahami lokasi Eventarc.

Anda harus menentukan lokasi pemicu Eventarc agar cocok dengan lokasi layanan Google Cloud yang menghasilkan peristiwa dan menghindari masalah performa dan retensi data yang disebabkan oleh pemicu global.

Anda dapat menentukan lokasi pemicu menggunakan flag --location dengan setiap perintah. Untuk tujuan Cloud Run, jika tanda --destination-run-region tidak ditentukan, layanan akan diasumsikan berada di region yang sama dengan pemicu. Untuk mengetahui informasi selengkapnya, lihat referensi Google Cloud CLI.

Keandalan dan pengiriman

Perkiraan waktu pengiriman adalah sebagai berikut:

  • Peristiwa yang menggunakan Cloud Audit Logs dikirim dalam waktu kurang dari satu menit. (Perhatikan bahwa meskipun pemicu Cloud Audit Logs langsung dibuat, diperlukan waktu hingga dua menit agar pemicu diterapkan dan memfilter peristiwa.)
  • Peristiwa yang menggunakan Pub/Sub dikirim dalam hitungan detik.

Tidak ada jaminan pengiriman sesuai urutan, yang pertama masuk pertama keluar. Perhatikan bahwa memiliki urutan yang ketat akan merusak ketersediaan dan fitur skalabilitas Eventarc yang cocok dengan lapisan transpornya, Cloud Pub/Sub. Untuk informasi selengkapnya, lihat Mengurutkan pesan.

Latensi dan throughput adalah upaya terbaik. Jumlah tersebut bervariasi berdasarkan beberapa faktor, termasuk apakah pemicu Eventarc bersifat regional, multi-regional, atau global; konfigurasi layanan tertentu; dan beban jaringan pada resource di region Google Cloud .

Perhatikan bahwa ada kuota dan batas penggunaan yang berlaku secara umum untuk Eventarc. Ada juga kuota dan batas penggunaan yang khusus untuk Alur Kerja.

Kebijakan percobaan ulang peristiwa

Karakteristik percobaan ulang Eventarc cocok dengan karakteristik lapisan transpornya, Cloud Pub/Sub. Untuk informasi selengkapnya, lihat Mencoba ulang permintaan dan Penundaan push.

Durasi retensi pesan default yang ditetapkan oleh Eventarc adalah 24 jam dengan penundaan backoff eksponensial.

Anda dapat memperbarui kebijakan percobaan ulang melalui langganan Pub/Sub yang terkait dengan pemicu Eventarc:

  1. Buka halaman detail Pemicu.
  2. Klik topik.
  3. Klik tab Langganan.

Setiap langganan yang dibuat secara otomatis oleh Eventarc akan memiliki format ini: projects/PROJECT_ID/subscriptions/eventarc-REGION-TRIGGER_ID-sub-SUBSCRIPTION_ID. Untuk mengetahui informasi selengkapnya tentang batas langganan, lihat Batas resource Pub/Sub.

Jika Pub/Sub mencoba mengirimkan pesan, tetapi tujuannya tidak dapat mengonfirmasinya, Pub/Sub akan mengirim pesan lagi dengan backoff eksponensial minimum 10 detik. Jika tujuan terus tidak mengonfirmasi pesan, lebih banyak waktu akan ditambahkan ke penundaan di setiap percobaan ulang (maksimal 600 detik) dan pesan akan dikirim ulang ke tujuan.

Perhatikan bahwa Alur Kerja mengonfirmasi peristiwa segera setelah eksekusi alur kerja dimulai.

Topik yang dihentikan pengirimannya

Jika tujuan tidak menerima pesan, Anda dapat meneruskan pesan yang tidak terkirim ke topik yang dihentikan pengirimannya (juga dikenal sebagai antrean yang dihentikan pengirimannya). Topik dead-letter dapat menyimpan pesan yang tidak dapat dikonfirmasi oleh tujuan. Anda harus menetapkan topik dead-letter saat membuat atau memperbarui langganan Pub/Sub, bukan saat membuat topik Pub/Sub atau saat Eventarc membuat topik Pub/Sub. Untuk mengetahui informasi selengkapnya, lihat Menangani kegagalan pesan.

Error yang tidak menjamin percobaan ulang

Jika aplikasi menggunakan Pub/Sub sebagai sumber peristiwa dan peristiwa tersebut tidak dikirim, peristiwa akan otomatis dicoba ulang, kecuali untuk error yang tidak menjamin percobaan ulang. Peristiwa ke tujuan alur kerja dari sumber apa pun tidak akan dicoba lagi jika alur kerja tidak dijalankan. Jika eksekusi alur kerja dimulai, tetapi kemudian gagal, eksekusi tidak akan dicoba ulang. Untuk menyelesaikan masalah layanan tersebut, Anda harus menangani error dan percobaan ulang dalam alur kerja.

Acara duplikat

Peristiwa duplikat mungkin dikirim ke pengendali peristiwa. Menurut spesifikasi CloudEvents, kombinasi atribut source dan id dianggap unik, dan karenanya setiap peristiwa dengan kombinasi yang sama dianggap duplikat. Anda harus menerapkan pengelola peristiwa idempoten sebagai praktik terbaik umum.

Kemampuan observasi

Google Cloud Observability menyediakan alat pemantauan, logging, dan diagnostik. Alat ini dapat membantu Anda memantau dan menganalisis aktivitas dan pertumbuhan Eventarc, serta memahami perilaku, kondisi, dan performa aplikasi Anda. Untuk informasi selengkapnya, lihat Observabilitas di Eventarc.

Log mendetail untuk Eventarc, Cloud Run, fungsi Cloud Run, GKE, Pub/Sub, dan Alur Kerja tersedia dari Cloud Audit Logs.

Pemulihan dari bencana

Anda dapat memanfaatkan zona dan region untuk mencapai keandalan jika terjadi penghentian layanan. Untuk mempelajari lebih lanjut cara memastikan bahwa tujuan RTO (Recovery Time Objective) dan RPO (Recovery Point Objective) terpenuhi untuk waktu pencadangan dan pemulihan saat menggunakan Eventarc, lihat Merancang pemulihan dari bencana untuk pemadaman infrastruktur cloud.

Standar kepatuhan

Eventarc mematuhi sertifikasi dan standar ini.

Langkah berikutnya