Eventarc memungkinkan Anda membangun 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 berbasis peristiwa yang dapat diskalakan, serverless, dan terkelola sepenuhnya yang memungkinkan Anda merutekan peristiwa secara asinkron dari sumber ke target. Untuk mengetahui informasi selengkapnya, lihat Memilih Eventarc Advanced atau Eventarc Standard.
Eventarc Standar menawarkan solusi standar untuk mengelola alur perubahan status, yang disebut peristiwa, antara microservice yang dipisahkan. Saat dipicu, Eventarc Standard 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.
1 Peristiwa dari penyedia Google dikirim langsung dari sumber (misalnya, Cloud Storage) atau melalui entri Cloud Audit Logs, dan menggunakan Pub/Sub sebagai lapisan transport. Peristiwa dari sumber Pub/Sub dapat menggunakan topik Pub/Sub yang ada atau Eventarc akan otomatis membuat dan mengelola topik untuk Anda.
2 Peristiwa untuk tujuan Google Kubernetes Engine (GKE)—termasuk layanan Knative yang berjalan di cluster GKE—menggunakan penerus peristiwa Eventarc untuk menarik peristiwa baru dari Pub/Sub dan meneruskannya ke tujuan. Komponen ini bertindak sebagai perantara antara lapisan transport Pub/Sub dan layanan target. Fitur ini berfungsi di layanan yang ada dan juga mendukung layanan pensinyalan (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. Workflows dapat menggabungkan dan mengatur layanan API berbasis HTTP dan Google Cloud 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 |
|
Menyelaraskan |
|
Analisis |
|
Acara
Peristiwa adalah rekaman data yang menyatakan terjadinya suatu peristiwa dan konteksnya. Peristiwa adalah unit komunikasi diskret, terlepas dari peristiwa lainnya. 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 tertarik. Perutean dilakukan berdasarkan informasi yang ada dalam peristiwa, tetapi peristiwa tidak mengidentifikasi tujuan perutean 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 acara
Peristiwa dirutekan ke tujuan tertentu (target) yang dikenal sebagai penerima (atau konsumen) peristiwa melalui langganan push Pub/Sub.
Cloud Run
Pelajari cara membangun layanan penerima peristiwa yang dapat di-deploy ke Cloud Run.
Untuk menentukan cara terbaik merutekan peristiwa ke layanan Cloud Run, lihat Rute peristiwa.
Cloud Run Functions
Semua fungsi berbasis peristiwa di Cloud Run Functions 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 penerusan peristiwa dengan benar dan merupakan cara yang direkomendasikan untuk mengakses layanan dari aplikasi yang berjalan dalam GKE karena properti keamanan dan pengelolaan yang lebih baik. Google Cloud Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan Workload Identity.
Endpoint HTTP internal dalam jaringan VPC
Anda dapat mengonfigurasi perutean peristiwa ke endpoint HTTP internal dalam 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. Workflows memerlukan email akun layanan IAM yang akan digunakan pemicu Eventarc Anda untuk memanggil eksekusi alur kerja. Sebaiknya gunakan akun layanan dengan hak istimewa terendah yang diperlukan untuk mengakses resource yang diperlukan. Untuk mengetahui informasi selengkapnya, lihat Membuat dan mengelola akun layanan.
Format dan library peristiwa
Eventarc mengirimkan peristiwa, terlepas dari penyedia, 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
. Protocol Buffers (atau Protobuf) adalah mekanisme yang tidak bergantung pada bahasa dan platform yang dapat diperluas 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, lihat Masalah umum.
Tujuan target seperti Cloud Run Functions, Cloud Run, dan GKE menggunakan peristiwa dalam format HTTP. Untuk tujuan Workflows, layanan Workflows mengonversi peristiwa menjadi objek JSON, dan meneruskan peristiwa ke eksekusi alur kerja sebagai argumen runtime.
Menggunakan cara standar untuk mendeskripsikan metadata peristiwa 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.
Kompatibilitas mundur
Eventarc menganggap penambahan atribut dan kolom berikut kompatibel mundur:
- Atribut pemfilteran opsional atau atribut hanya output
- Kolom opsional untuk 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 peruteannya dari sumber peristiwa ke tujuan target. Untuk mengetahui informasi selengkapnya, lihat Representasi REST resource pemicu dan Penyedia dan tujuan peristiwa.
Perhatikan bahwa langganan Pub/Sub yang dibuat untuk Eventarc bertahan 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) | |
---|---|
Deskripsi | Cloud Audit Logs menyediakan log audit Aktivitas Admin dan Akses Data untuk setiap project, folder, dan organisasi Cloud.
Google Cloud menulis entri ke log ini. Anda dapat membuat
filter untuk pemicu Eventarc menggunakan nilai serviceName
dan methodName dalam log audit. Untuk nilai yang tepat,
lihat
layananGoogle Cloud dengan log audit.
Untuk mengetahui informasi selengkapnya, lihat
Menentukan filter peristiwa untuk Cloud Audit Logs. |
Jenis filter acara | Pemicu 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 | |
Deskripsi | Eventarc dapat dipicu oleh
berbagai peristiwa langsung seperti update pada bucket Cloud Storage, update pada template Firebase Remote Config, atau perubahan pada
resource
di layanan Google Cloud .
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 di topik Pub/Sub, Anda dapat mengintegrasikan Eventarc dengan layanan lain yang mendukung Pub/Sub sebagai tujuan. |
Jenis filter acara | Pemicu 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 agar 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 artikel Memahami lokasi Eventarc.
Anda harus menentukan lokasi pemicu Eventarc agar cocok dengan lokasi layanan Google Cloud yang menghasilkan peristiwa dan menghindari masalah performa dan residensi data yang disebabkan oleh pemicu global.
Anda dapat menentukan lokasi pemicu menggunakan tanda --location
dengan setiap perintah.
Untuk tujuan Cloud Run, jika tanda --destination-run-region
tidak ditentukan, diasumsikan bahwa layanan berada di region yang sama dengan pemicu. Untuk mengetahui informasi selengkapnya, lihat
referensi Google Cloud CLI.
Keandalan dan pengiriman
Estimasi waktu pengiriman adalah sebagai berikut:
- Peristiwa 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 berurutan, masuk pertama keluar pertama. Perhatikan bahwa memiliki pengurutan yang ketat akan mengurangi fitur ketersediaan dan skalabilitas Eventarc yang cocok dengan fitur lapisan transportnya, Cloud Pub/Sub. Untuk mengetahui 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 Workflows.
Kebijakan percobaan ulang peristiwa
Karakteristik percobaan ulang Eventarc cocok dengan lapisan transpornya, Cloud Pub/Sub. 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. Untuk mengetahui informasi selengkapnya, lihat Coba lagi peristiwa.
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 Kemampuan observasi di Eventarc.
Log mendetail untuk Eventarc, Cloud Run, Cloud Run functions, GKE, Pub/Sub, dan Workflows tersedia dari Cloud Audit Logs.
Pemulihan dari bencana
Anda dapat memanfaatkan zona dan region untuk mencapai keandalan jika terjadi gangguan. Untuk mempelajari lebih lanjut cara memastikan 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 Standard mematuhi sertifikasi dan standar tertentu. Untuk menghindari penggunaan resource Eventarc Advanced yang tidak mematuhi kebijakan, Anda dapat membuat kebijakan organisasi kustom yang menonaktifkan resource Eventarc Advanced. Untuk mengetahui informasi selengkapnya, lihat Menonaktifkan resource Eventarc Advanced.
Langkah berikutnya
- Pelajari lebih lanjut pemrosesan peristiwa serverless
- Coba Codelab
- Membuat pemicu untuk penyedia, jenis peristiwa, dan tujuan tertentu
- Memecahkan masalah