Tata kelola sumber daya dengan grup aplikasi

Azure Event Hubs memungkinkan Anda mengatur beban kerja streaming peristiwa aplikasi klien yang terhubung ke Azure Event Hubs. Anda dapat membuat grup logis yang dikenal sebagai grup aplikasi di mana setiap grup adalah kumpulan aplikasi klien, lalu menerapkan kebijakan manajemen kuota dan akses untuk grup aplikasi (grup aplikasi klien).

Catatan

Grup aplikasi hanya tersedia dalam tingkat premium dan khusus.

Grup aplikasi

Grup aplikasi adalah set satu atau beberapa aplikasi klien yang berinteraksi dengan bidang data Azure Event Hubs. Setiap grup aplikasi dapat dilingkupkan ke satu namespace layanan Azure Event Hubs atau hub peristiwa (entitas) dalam namespace layanan dan harus menggunakan kondisi identifikasi unik seperti konteks keamanan - tanda tangan akses bersama (SAS) atau ID aplikasi Microsoft Entra - dari aplikasi klien.

Azure Event Hubs saat ini mendukung penggunaan konteks keamanan untuk membuat grup aplikasi. Oleh karena itu, setiap grup aplikasi harus memiliki kebijakan SAS unik atau ID aplikasi Microsoft Entra yang terkait dengannya. Jika disukai, Anda dapat menggunakan konteks keamanan di tingkat pusat aktivitas untuk menggunakan grup aplikasi dengan hub peristiwa tertentu dalam namespace layanan.

Grup aplikasi adalah entitas logis yang dibuat di tingkat namespace layanan. Oleh karena itu, aplikasi klien yang berinteraksi dengan pusat aktivitas tidak perlu menyadari keberadaan grup aplikasi. Azure Event Hubs dapat mengaitkan aplikasi klien apa pun ke grup aplikasi dengan menggunakan kondisi identifikasi.

Seperti yang diilustrasikan di bawah ini, Anda dapat membuat grup aplikasi berdasarkan konteks keamanan yang digunakan setiap aplikasi klien. Oleh karena itu, grup aplikasi dapat menjangkau beberapa aplikasi klien menggunakan konteks keamanan yang sama.

Image showing capturing of Event Hubs data into Azure Storage or Azure Data Lake Storage.

Grup aplikasi tidak memiliki asosiasi langsung dengan grup konsumen. Bergantung pada pengidentifikasi grup aplikasi seperti konteks keamanan, satu grup konsumen dapat memiliki satu atau beberapa grup aplikasi yang terkait dengannya atau satu grup aplikasi dapat menjangkau beberapa grup konsumen.

Ini adalah atribut utama grup aplikasi:

Parameter Deskripsi
nama Nama unik grup aplikasi.
clientAppGroupIdentifier Kaitkan grup aplikasi dengan kondisi identifikasi unik (yaitu konteks keamanan seperti kebijakan SAS atau ID aplikasi Microsoft Entra).
kebijakan Daftar kebijakan, seperti kebijakan pembatasan yang mengontrol streaming peristiwa antara aplikasi klien dan namespace layanan Azure Event Hubs
Diaktifkan Tentukan apakah aplikasi klien grup aplikasi dapat mengakses namespace Layanan Pusat Aktivitas atau tidak.

Kebijakan grup aplikasi

Setiap grup aplikasi dapat berisi nol atau lebih kebijakan yang mengontrol akses sarana data aplikasi klien yang merupakan bagian dari grup aplikasi. Grup aplikasi saat ini mendukung kebijakan pembatasan.

Kebijakan pembatasan

Anda dapat memiliki kebijakan pembatasan yang ditentukan menggunakan metrik masuk dan keluar yang berbeda. Grup aplikasi mendukung penggunaan metrik berikut untuk membatasi beban kerja masuk atau keluar aplikasi klien.

Parameter Deskripsi
IncomingBytes Throughput penayang dalam byte per detik.
OutgoingBytes Throughput konsumen dalam byte per detik.
IncomingMessages Jumlah acara yang dipublikasikan per detik.
OutgoingMessages Jumlah acara yang dikonsumsi per detik.

Ketika kebijakan untuk grup aplikasi diterapkan, beban kerja aplikasi klien dapat memperlambat atau mengalami pengecualian server yang sibuk.

Kebijakan pembatasan - Batas ambang batas

Tabel berikut ini memperlihatkan batas ambang minimum yang bisa Anda tetapkan untuk ID metrik yang berbeda dalam kebijakan pembatasan:

ID metrik Batas minimum
IncomingByte 1 KB
OutgoingByte 1 KB
IncomingMessage 1
Pesan keluar 1

Catatan

Batas yang ditetapkan pada nilai ambang batas kebijakan pembatasan akan lebih diutamakan daripada nilai apa pun yang ditetapkan untuk properti topik Kafka. Misalnya, IncomingBytes akan memiliki prioritas yang lebih tinggi daripada message.max.bytes.
Pembatasan grup aplikasi diperkirakan akan membatasi konsistensi lebih tinggi daripada skenario lalu lintas yang diizinkan (mencakup beberapa menit). Ledakan cepat dalam lalu lintas selama beberapa detik mungkin tidak mengalami pembatasan melalui Grup Aplikasi. Melihat throughput yang diizinkan selama cakrawala waktu beberapa menit disarankan pendekatan untuk memvalidasi pembatasan.

Dukungan protokol dan kode kesalahan

Grup aplikasi mendukung operasi pembatasan yang terjadi melalui protokol berikut - AMQP, Kafka, dan HTTP. Tabel berikut ini memberi Anda kode kesalahan yang diharapkan yang dikembalikan oleh grup aplikasi:

Protokol Operasi Kode kesalahan Pesan kesalahan
AMQP Kirim 50004 SubCode:50013, Grup aplikasi dibatasi dengan ID grup aplikasi & nama kebijakan
HTTP Kirim 503 Subkode: 50013. Grup aplikasi dibatasi dengan ID grup aplikasi dan nama kebijakan
Kafka Kirim PolicyViolation Broker: pelanggaran kebijakan

Karena pembatasan pada tingkat protokol, pesan kesalahan tidak didukung selama operasi penerimaan. Ketika grup aplikasi membatasi operasi penerimaan, Anda akan mengalami konsumsi pesan yang lamban di sisi konsumen.

Menonaktifkan grup aplikasi

Grup aplikasi diaktifkan secara default dan itu berarti semua aplikasi klien dapat mengakses namespace Layanan Pusat Aktivitas untuk mempublikasikan dan menggunakan peristiwa dengan mematuhi kebijakan grup aplikasi.

Ketika grup aplikasi dinonaktifkan, klien masih akan dapat terhubung ke hub peristiwa, tetapi otorisasi akan gagal dan kemudian koneksi klien ditutup. Oleh karena itu, Anda akan melihat banyak koneksi terbuka dan tertutup yang berhasil, dengan jumlah kegagalan otorisasi yang sama dalam log diagnostik.

Langkah berikutnya

Untuk petunjuk tentang cara membuat dan mengelola grup aplikasi, lihat Tata kelola sumber daya untuk aplikasi klien menggunakan portal Azure