Bagikan melalui


Azure Event Grid dan keandalan

Azure Event Grid memungkinkan Anda dengan mudah membangun aplikasi dengan arsitektur berbasis peristiwa. Solusi ini memiliki dukungan bawaan untuk peristiwa yang berasal dari layanan Azure, seperti blob penyimpanan dan grup sumber daya. Event Grid juga memiliki dukungan untuk acara Anda sendiri, menggunakan topik khusus.

Untuk informasi selengkapnya tentang menggunakan Azure Event Grid, lihat Buat dan rutekan peristiwa kustom dengan Azure Event Grid.

Untuk memahami bagaimana menggunakan Event Grid menciptakan beban kerja yang lebih andal, lihat Pemulihan bencana geo sisi server di Azure Event Grid.

Bagian berikut ini khusus untuk Azure Event Grid dan keandalan:

  • Pertimbangan Desain
  • Daftar periksa konfigurasi
  • Opsi konfigurasi yang disarankan
  • Artefak sumber

Pertimbangan Desain

Azure Event Grid menyediakan SLA waktu aktif. Untuk informasi selengkapnya, lihat SLA untuk Event Grid.

Daftar periksa

Sudahkah Anda mengonfigurasi Azure Event Grid dengan mempertimbangkan keandalan?

  • Terapkan instans Event Grid per wilayah, jika ada solusi Azure multi-wilayah.
  • Pantau Azure Event Grid untuk penyediaan peristiwa yang gagal.
  • Gunakan peristiwa batch.
  • Ukuran kumpulan peristiwa tidak boleh melebihi 1MB.
  • Konfigurasikan dan optimalkan pemilihan ukuran batch selama pengujian beban.
  • Pastikan pesan Event Grid diterima dengan HTTP 200-204 respons hanya jika mengirimkan ke titik akhir yang menyimpan kode kustom.
  • Pantau Azure Event Grid untuk penerbitan peristiwa yang gagal.

Rekomendasi konfigurasi

Pertimbangkan rekomendasi berikut untuk mengoptimalkan keandalan saat mengonfigurasi Azure Event Grid:

Rekomendasi Deskripsi
Pantau Azure Event Grid untuk penyediaan peristiwa yang gagal. Metrik Delivery Failed akan meningkat setiap kali pesan tidak dapat dikirim ke penanganan aktivitas (batas waktu atau kode status non-200-204 HTTP). Jika suatu peristiwa tidak boleh hilang, siapkan akun penyimpanan Dead-Letter-Queue (DLQ). Akun DLQ adalah tempat peristiwa yang tidak dapat dikirimkan setelah penghitungan coba ulang maksimum akan ditempatkan. Secara opsional, terapkan sistem pemberitahuan pada akun penyimpanan DLQ, misalnya, dengan menangani peristiwa file baru melalui Event Grid.
Gunakan peristiwa batch dalam skenario throughput tinggi. Layanan akan mengirimkan array json dengan beberapa peristiwa ke pelanggan, bukan array dengan satu peristiwa. Aplikasi yang menggunakannya akan dapat memproses array ini.
Ukuran kumpulan peristiwa tidak boleh melebihi 1MB. Jika payload pesan besar, hanya satu atau beberapa pesan yang akan muat dalam batch. Layanan konsumsi perlu memproses lebih banyak batch peristiwa. Jika peristiwa Anda memiliki muatan yang besar, pertimbangkan untuk menyimpannya di tempat lain, seperti di penyimpanan blob, dan meneruskan referensi di peristiwa tersebut. Saat berintegrasi dengan layanan pihak ketiga melalui skema CloudEvents, tidak disarankan untuk melebihi 64KB peristiwa.
Konfigurasikan dan optimalkan pemilihan ukuran batch selama pengujian beban. Pemilihan ukuran batch tergantung pada ukuran payload dan volume pesan.
Pantau Azure Event Grid untuk penerbitan peristiwa yang gagal. Metrik Unmatched akan menampilkan pesan yang diterbitkan, tetapi tidak cocok dengan langganan mana pun. Tergantung pada arsitektur aplikasi Anda, yang terakhir mungkin disengaja.

Artefak sumber

Untuk menentukan jenis Skema Input untuk semua topik Event Grid yang tersedia, gunakan kueri berikut:

Resources 
| where type == 'microsoft.eventgrid/topics'
| project name, resourceGroup, location, subscriptionId, properties['inputSchema']

Untuk mengambil ID Sumber Daya dari titik akhir privat yang ada untuk domain Event Grid, gunakan kueri berikut:

Resources 
| where type == 'microsoft.eventgrid/domains' and notnull(properties['privateEndpointConnections']) 
| mvexpand properties['privateEndpointConnections'] 
| project-rename privateEndpointConnections = properties_privateEndpointConnections 
| project name, resourceGroup, location, subscriptionId, privateEndpointConnections['properties']['privateEndpoint']['id']

Untuk mengidentifikasi status Akses Jaringan Publik untuk semua domain Azure Event Grid yang tersedia, gunakan kueri berikut:

Resources 
| where type == 'microsoft.eventgrid/domains' 
| project name, resourceGroup, location, subscriptionId, properties['publicNetworkAccess']

Untuk mengidentifikasi Aturan Firewall untuk semua domain Azure Event Grid publik, gunakan kueri berikut:

Resources 
| where type == 'microsoft.eventgrid/domains' and properties['publicNetworkAccess'] == 'Enabled'
| project name, resourceGroup, location, subscriptionId, properties['inboundIpRules']

Untuk mengidentifikasi Aturan Firewall untuk semua topik Azure Event Grid publik, gunakan kueri berikut:

Resources 
| where type == 'microsoft.eventgrid/topics' and properties['publicNetworkAccess'] == 'Enabled'
| project name, resourceGroup, location, subscriptionId, properties['inboundIpRules']

Untuk mengambil ID Sumber Daya dari titik akhir privat yang ada untuk topik Event Grid, gunakan kueri berikut:

Resources 
| where type == 'microsoft.eventgrid/topics' and notnull(properties['privateEndpointConnections']) 
| mvexpand properties['privateEndpointConnections'] 
| project-rename privateEndpointConnections = properties_privateEndpointConnections 
| project name, resourceGroup, location, subscriptionId, privateEndpointConnections['properties']['privateEndpoint']['id']

Untuk menentukan jenis Skema Input untuk semua domain Azure Event Grid yang tersedia, gunakan skema berikut:

Resources 
| where type == 'microsoft.eventgrid/domains'
| project name, resourceGroup, location, subscriptionId, properties['inputSchema']

Untuk mengidentifikasi status Akses Jaringan Publik untuk semua topik Azure Event Grid yang tersedia, gunakan kueri berikut:

Resources 
| where type == 'microsoft.eventgrid/topics' 
| project name, resourceGroup, location, subscriptionId, properties['publicNetworkAccess']

Langkah selanjutnya