Memperkenalkan beban kerja

Bab ini memperkenalkan komponen utama sistem kami dan memberikan gambaran umum tentang arsitektur. Komponen-komponen ini bekerja sama untuk membuat platform yang kuat dan fleksibel untuk kebutuhan pengembangan Anda. Mari kita pelajari komponen-komponen ini dan perannya dalam arsitektur kita.

Arsitektur beban kerja fabric

Beberapa aspek utama arsitektur beban kerja Fabric adalah:

  • Ini menangani pemrosesan data, penyimpanan, dan manajemen. Ini memvalidasi token ID Microsoft Entra sebelum memprosesnya dan berinteraksi dengan layanan Azure eksternal, seperti Lakehouse.

  • Frontend beban kerja (FE) menawarkan antarmuka pengguna untuk pembuatan, penulisan, manajemen, dan eksekusi pekerjaan.

  • Interaksi pengguna melalui FE memulai permintaan ke BE, baik secara langsung maupun tidak langsung melalui Fabric Backend (Fabric BE).

Untuk diagram yang lebih rinci yang menggambarkan komunikasi dan autentikasi berbagai komponen, lihat Gambaran umum autentikasi dan otorisasi backend dan diagram Gambaran umum autentikasi.

Frontend (FE)

Frontend berfungsi sebagai dasar pengalaman pengguna (UX) dan perilaku, beroperasi dalam iframe di portal Fabric. Ini memberi mitra Fabric pengalaman antarmuka pengguna tertentu, termasuk editor item. Klien ekstensi SDK membekali antarmuka, API, dan fungsi bootstrap yang diperlukan untuk mengubah aplikasi web reguler menjadi aplikasi web Micro Frontend yang beroperasi dengan mulus dalam portal Fabric.

Peladen Belakang (BE)

Backend adalah powerhouse untuk pemrosesan data dan penyimpanan metadata. Ini menggunakan operasi CRUD untuk membuat dan mengelola item beban kerja bersama dengan metadata, dan menjalankan pekerjaan untuk mengisi data dalam penyimpanan. Jembatan komunikasi antara frontend dan backend didirikan melalui API publik.

Beban kerja dapat berjalan di dua lingkungan: lokal dan cloud. Di lokal (devmode), beban kerja berjalan pada komputer pengembang, dengan panggilan API yang dikelola oleh utilitas DevGateway. Utilitas ini juga menangani pendaftaran beban kerja dengan Fabric. Dalam mode cloud, beban kerja berjalan pada layanan mitra, dengan panggilan API yang dilakukan langsung ke titik akhir HTTPS.

Lingkungan pengembangan

  • Paket beban kerja mode dev: Saat membangun solusi backend di Visual Studio, gunakan konfigurasi build Debug untuk membuat paket BE NuGet, yang dapat dimuat ke penyewa Fabric menggunakan aplikasi DevGateway.

Diagram arsitektur mode pengembang.

  • Paket beban kerja mode cloud: Saat membangun solusi BE di Visual Studio, gunakan konfigurasi Build rilis untuk membuat paket beban kerja mandiri (BE dan FE). Paket ini dapat diunggah ke penyewa secara langsung.

Diagram arsitektur mode cloud.

Struktur paket NuGet beban kerja

Beban kerja dimas sebagai paket NuGet, menggabungkan komponen backend dan frontend. Struktur mematuhi konvensi penamaan tertentu dan diberlakukan oleh Fabric untuk konsistensi di seluruh skenario pengunggahan. Paket NuGet yang dirancang untuk mewakili beban kerja disusun untuk menyertakan komponen backend dan frontend.

Struktur backend

Segmen backend terdiri .xml file yang menentukan beban kerja dan item terkait, yang penting untuk pendaftaran dengan Fabric.

Komponen utama
  • WorkloadManifest.xml - File konfigurasi beban kerja, diperlukan untuk memiliki nama yang tepat untuk verifikasi Fabric.
  • Item1.xml, , Item2.xml... - Manifes untuk item individual dengan penamaan fleksibel, mengikuti format XML.

Struktur frontend

Bagian frontend berisi file .json yang merinci produk dan item untuk frontend, bersama dengan direktori 'aset' untuk ikon.

Komponen utama
  • Product.json - Manifes utama untuk frontend produk Anda, yang harus dinamai dengan tepat untuk verifikasi Fabric.
  • Item1.json, , Item2.json... - Manifes untuk item individual dengan penamaan fleksibel, mengikuti format JSON. Setiap json sesuai dengan manifes backend (misalnya, Item1.json ke Item1.xml).
  • assets folder - Menyimpan semua ikon icon1.jpg, icon2.png, ... digunakan oleh frontend.

Kepatuhan struktur wajib

Struktur, termasuk nama subfolder tertentu ('BE', 'FE', 'aset'), wajib dan diberlakukan oleh Fabric untuk semua skenario unggahan, termasuk paket pengujian dan pengembangan. Struktur ditentukan dalam file yang .nuspec ditemukan di repositori di Backend/src/Packages/manifest bawah direktori.

Batas

Batas berikut berlaku untuk semua jenis paket NuGet, baik dalam mode pengembangan maupun mode cloud:

  • Hanya BE dan FE subfolder diizinkan. Subfolder atau file lain yang terletak di luar folder ini mengakibatkan kesalahan unggahan.
  • Folder BE hanya .xml menerima file. Jenis file lainnya mengakibatkan kesalahan unggahan.
  • Maksimal 10 file item diizinkan, yang BE berarti folder dapat berisi satu WorkloadManifest.xml dan hingga 10 Item.xml file. Memiliki lebih dari 10 file item dalam folder mengakibatkan kesalahan unggahan.
  • Assets Subfolder harus berada di bawah FE folder . Ini dapat berisi hingga 15 file, dengan setiap file tidak lebih besar dari 1,5 MB.
  • Hanya jenis file berikut yang diizinkan dalam Assets subfolder: .jpeg, , .jpg.png.
  • Folder FE dapat berisi maksimal 10 file item ditambah satu product.json file.
  • Ukuran product.json tidak boleh melebihi 50 KB.
  • Setiap aset dalam Assets folder harus dirujuk dalam file item. Setiap aset yang dirujuk dari file item yang hilang di Assets folder akan mengakibatkan kesalahan unggahan.
  • Nama file untuk item harus unik. Nama file duplikat mengakibatkan kesalahan pengunggahan.
  • Nama file harus berisi karakter alfanumerik (Bahasa Inggris) atau tanda hubung saja dan tidak boleh melebihi panjang 32 karakter. Menggunakan karakter lain atau melebihi panjang ini mengakibatkan kesalahan pengunggahan.
  • Ukuran paket total tidak boleh melebihi 20 MB.
  • Silakan lihat manifes beban kerja untuk batasan spesifik manifes.

Mode pengembangan lokal (devmode)

Backend beban kerja (BE) beroperasi pada komputer pengembang. Panggilan API beban kerja ditransmisikan melalui Azure Relay, dengan sisi beban kerja saluran Azure Relay yang dikelola oleh utilitas baris perintah khusus, DevGateway. Panggilan API kontrol beban kerja dikirim langsung dari beban kerja ke Fabric, melewati saluran Azure Relay. Utilitas DevGateway juga mengawasi pendaftaran instans pengembangan lokal beban kerja dengan Fabric, dalam konteks ruang kerja tertentu. Setelah penghentian utilitas DevGateway, pendaftaran instans beban kerja secara otomatis dibatalkan. Untuk informasi selengkapnya, lihat Panduan implementasi back-end.

Skema DevMode BE

Diagram mode dev menjadi arsitektur skema.

Mode pengembangan cloud (mode cloud)

Backend beban kerja (BE) beroperasi dalam layanan mitra. Panggilan API beban kerja dilakukan langsung ke titik akhir HTTPS, seperti yang ditentukan dalam manifes beban kerja. Dalam skenario ini, utilitas DevGateway tidak diperlukan. Pendaftaran beban kerja dengan Fabric dicapai dengan mengunggah paket NuGet beban kerja ke Fabric dan kemudian mengaktifkan beban kerja untuk penyewa. Untuk informasi selengkapnya, lihat Mengelola beban kerja di Fabric.

Skema CloudMode BE

Diagram arsitektur skema BE mode cloud.