Bagikan melalui


Registri Skema di Azure Event Hubs

Registri Skema di Azure Event Hubs memiliki banyak manfaat. Registri Skema membantu menjaga konsistensi data, menyederhanakan evolusi skema, meningkatkan interoperabilitas, dan mengurangi upaya pengembangan dalam alur kerja yang digabungkan secara longgar dan streaming peristiwa. Organisasi terdistribusi besar yang menggunakan repositori terpusat untuk skema dapat menggunakan Schema Registry untuk mencapai pemrosesan dan tata kelola data yang sangat andal dengan sedikit overhead operasional.

Registri skema di Azure Event Hubs memenuhi banyak peran dalam skenario streaming peristiwa berbasis skema:

  • Menyediakan repositori tempat beberapa skema dapat didaftarkan, dikelola, dan berkembang
  • Mengelola evolusi skema dengan beberapa aturan kompatibilitas
  • Melakukan validasi data untuk semua data yang diskema
  • Menyediakan pustaka sisi klien (serializer dan deserializer) untuk produsen dan konsumen
  • Meningkatkan efisiensi throughput jaringan dengan meneruskan ID skema alih-alih definisi skema untuk setiap payload

Registri skema di Azure Event Hubs didukung pada tingkat Standar, Premium, dan Khusus.

Komponen registri skema

Registri skema adalah bagian dari namespace layanan Azure Event Hubs tetapi juga dapat digunakan dengan pesan atau broker peristiwa lainnya, termasuk layanan olahpesan Azure. Ini terdiri dari beberapa grup skema, yang bertindak sebagai pengelompokan skema logis dan dapat dikelola secara independen dari grup skema lain.

Diagram yang memperlihatkan komponen registri skema di Azure Event Hubs.

Skema

Dalam sistem yang digabungkan secara longgar, beberapa aplikasi berkomunikasi, terutama melalui data. Skema menentukan struktur data dengan cara deklaratif. Akibatnya, kontrak antara aplikasi produsen dan konsumen didefinisikan dengan baik, memastikan pemrosesan yang andal dalam skala besar.

Definisi skema meliputi:

  • Bidang: Elemen data individual seperti nama, judul buku, atau alamat.
  • Jenis data: Jenis data yang dapat disimpan, seperti string, tanggal-waktu, atau array.
  • Struktur: Bagaimana bidang diatur, seperti struktur atau array berlapis.

Skema mendefinisikan kontrak antara produsen dan konsumen. Skema yang ditentukan dalam registri skema Azure Event Hubs membantu mengelola kontrak di luar data peristiwa, yang menghapus overhead payload.

Format skema

Format skema digunakan untuk menentukan cara di mana skema disusun dan ditentukan. Setiap format menguraikan panduan dan sintaks tertentu untuk menentukan struktur peristiwa yang digunakan untuk streaming peristiwa.

Skema Avro

Apache Avro adalah sistem serialisasi data populer yang menggunakan format biner ringkas dan menyediakan kemampuan evolusi skema.

Untuk mempelajari selengkapnya tentang menggunakan format skema Avro dengan registri skema Azure Event Hubs, lihat:

Skema JSON

Skema JSON (JavaScript Object Notation) adalah cara standar untuk menentukan struktur dan jenis data peristiwa. Skema JSON memungkinkan penggunaan format data JSON yang percaya diri dan andal dalam streaming peristiwa.

Untuk mempelajari selengkapnya tentang menggunakan format skema JSON dengan registri skema Azure Event Hubs, lihat Cara menggunakan registri skema dengan skema Kafka dan JSON.

Buffer Protokol

Buffer Protokol (Protobuf) adalah mekanisme netral bahasa, netral platform, dan dapat diperluas untuk menserialisasikan data terstruktur. Ini digunakan untuk menentukan struktur data secara efisien dan menserialisasikannya ke dalam format biner yang ringkas.

Grup skema

Grup skema adalah grup logis dari skema serupa yang diatur sesuai dengan kriteria bisnis Anda. Grup skema menyimpan:

  • Beberapa definisi skema.
  • Beberapa versi skema tertentu.
  • Metadata mengenai jenis skema dan kompatibilitas untuk semua skema dalam grup.

Anda dapat menganggap grup skema sebagai subset registri skema yang selaras dengan aplikasi atau unit organisasi tertentu, dengan model otorisasi terpisah. Batas keamanan tambahan ini membantu memastikan bahwa metadata dan rahasia perdagangan tidak bocor dalam model layanan bersama. Ini juga memungkinkan pemilik aplikasi untuk mengelola skema secara independen dari aplikasi lain yang memiliki namespace yang sama.

Evolusi skema

Skema perlu berkembang dengan persyaratan bisnis produsen dan konsumen. Schema Registry mendukung evolusi skema dengan memperkenalkan mode kompatibilitas di tingkat grup skema. Saat membuat grup skema, Anda dapat menentukan mode kompatibilitas skema yang Anda sertakan dalam grup skema tersebut. Saat Anda memperbarui skema, perubahan harus mematuhi mode kompatibilitas yang ditetapkan sehingga dapat membuat versi baru skema.

Evolusi skema hanya didukung untuk format skema Avro.

Registri Skema didukung dalam mode kompatibilitas berikut.

Kompatibilitas mundur

Mode kompatibilitas mundur memungkinkan kode konsumen untuk menggunakan versi baru skema dan memproses pesan dengan versi lama skema. Mode kompatibilitas mundur memungkinkan perubahan berikut dilakukan pada skema:

  • Menghapus bidang
  • Menambahkan bidang opsional

Meneruskan kompatibilitas

Kompatibilitas penerusan memungkinkan kode konsumen untuk menggunakan versi skema lama dan membaca pesan dengan skema baru. Mode kompatibilitas penerusan memungkinkan perubahan berikut dilakukan pada skema:

  • Tambahkan bidang
  • Hapus bidang opsional

Tidak ada kompatibilitas

None Saat mode kompatibilitas digunakan, Schema Registry tidak melakukan pemeriksaan kompatibilitas saat Anda memperbarui skema.

SDK Klien

Anda dapat menggunakan salah satu pustaka berikut untuk menyertakan serializer Avro. Anda dapat menggunakan serializer Avro untuk menserialisasikan dan mendeserialisasi payload yang berisi pengidentifikasi skema untuk registri skema dan data yang dikodekan Avro:

Bahasa pemrograman SDK Sampel
.NET Microsoft.Azure.Data.SchemaRegistry.ApacheAvro Sampel .NET
Java azure-data-schemaregistry-avro Sampel Java
Python azure-schemaregistry-avroserializer Sampel Python
JavaScript @azure/schema-registry-avro Sampel NodeJS

Selain itu, pustaka di bawah ini juga tersedia berdasarkan beban kerja Anda.

Batas

Untuk batasan (seperti jumlah skema yang dapat Anda gunakan di namespace layanan) Azure Event Hubs, lihat Kuota dan batas Azure Event Hubs.

Kontrol akses berbasis peran Azure

Untuk mengakses registri skema secara terprogram, ikuti langkah-langkah berikut:

  1. Daftarkan aplikasi Anda di ID Microsoft Entra.
  2. Tambahkan prinsip keamanan aplikasi ke salah satu peran kontrol akses berbasis peran (RBAC) Azure berikut di tingkat namespace layanan.
Peran Deskripsi
Pemilik Membaca, menulis, dan menghapus grup dan skema registri skema
Kontributor Membaca, menulis, dan menghapus grup dan skema registri skema
Pembaca Schema Registry Membaca dan mencantumkan grup dan skema registri
Kontributor Schema Registry Membaca, menulis, dan menghapus grup dan skema registri skema

Untuk mempelajari cara membuat dan mendaftarkan aplikasi dengan menggunakan portal Azure, lihat Mendaftarkan aplikasi dengan ID Microsoft Entra. Anda memerlukan ID klien (ID aplikasi), ID penyewa, dan rahasia untuk digunakan dalam kode.