แชร์ผ่าน


ขอแนะนําปริมาณงาน

บทนี้แนะนําส่วนประกอบสําคัญของระบบของเราและให้ภาพรวมของสถาปัตยกรรม คอมโพเนนต์เหล่านี้ทํางานร่วมกันเพื่อสร้างแพลตฟอร์มที่มีประสิทธิภาพและยืดหยุ่นสําหรับความต้องการการพัฒนาของคุณ ลองเจาะลึกองค์ประกอบและบทบาทของพวกเขาภายในสถาปัตยกรรมของเรา

สถาปัตยกรรมปริมาณงานผ้า

บางส่วนของประเด็นสําคัญของสถาปัตยกรรมปริมาณงาน Fabric คือ:

  • ซึ่งจัดการการประมวลผลข้อมูล การจัดเก็บ และการจัดการ ซึ่งจะตรวจสอบโทเค็น Microsoft Entra ID ก่อนประมวลผลและโต้ตอบกับบริการ Azure ภายนอก เช่น Lakehouse

  • ปริมาณงาน Frontend (FE) มีส่วนติดต่อผู้ใช้สําหรับการสร้างงาน การเขียน การจัดการ และการดําเนินการ

  • การโต้ตอบกับผู้ใช้ผ่าน FE เริ่มต้นการร้องขอไปยัง BE ไม่ว่าจะโดยตรงหรือทางอ้อมผ่าน Fabric Backend (Fabric BE)

สําหรับแผนภาพรายละเอียดเพิ่มเติมที่แสดงถึงการสื่อสารและการรับรองความถูกต้องของคอมโพเนนต์ต่าง ๆ ดู การรับรองความถูกต้อง Backend และภาพรวม การรับรองความถูกต้องและ ไดอะแกรมภาพรวม การรับรองความถูกต้อง

Frontend (FE)

frontend ทําหน้าที่เป็นฐานของประสบการณ์ผู้ใช้ (UX) และลักษณะการทํางาน ที่ดําเนินการภายใน iframe ในพอร์ทัล Fabric โดยให้คู่ค้า Fabric มีประสบการณ์การใช้งานส่วนติดต่อผู้ใช้แบบเฉพาะเจาะจง รวมถึงตัวแก้ไขรายการ ส่วนขยายไคลเอ็นต์ SDK มีอินเทอร์เฟซที่จําเป็น API และฟังก์ชันบูทสเตรปเพื่อแปลงเว็บแอปปกติเป็นเว็บแอป Micro Frontend ที่ทํางานได้อย่างราบรื่นภายในพอร์ทัล Fabric

Backend (BE)

Backend คือระบบไฟฟ้าสําหรับการประมวลผลข้อมูลและการจัดเก็บเมตาดาต้า ซึ่งใช้การดําเนินการ CRUD เพื่อสร้างและจัดการรายการปริมาณงานพร้อมกับเมตาดาต้า และดําเนินการงานเพื่อเติมข้อมูลในที่เก็บข้อมูล บริดจ์การสื่อสารระหว่าง frontend และ Backend ถูกสร้างขึ้นผ่าน API สาธารณะ

ปริมาณงานสามารถทํางานได้ในสองสภาพแวดล้อม: ภายในเครื่องและระบบคลาวด์ ในเครื่อง (devmode) ปริมาณงานจะทํางานบนเครื่องของนักพัฒนา ด้วยการเรียกใช้ API ที่จัดการโดยยูทิลิตี้ DevGateway ยูทิลิตี้นี้ยังจัดการการลงทะเบียนปริมาณงานด้วย Fabric ในโหมดคลาวด์ ปริมาณงานจะทํางานบนบริการคู่ค้า ที่มีการเรียกใช้ API โดยตรงไปยังจุดสิ้นสุด HTTPS

สภาพแวดล้อมการพัฒนา

  • แพคเกจปริมาณงานโหมดพัฒนา: เมื่อสร้างโซลูชัน backend ใน Visual Studio ใช้การกําหนดค่ารุ่นดีบักเพื่อสร้างแพคเกจ BE NuGet ซึ่งสามารถโหลดลงในผู้เช่า Fabric โดยใช้แอปพลิเคชัน DevGateway

ไดอะแกรมของสถาปัตยกรรมโหมดนักพัฒนา

  • แพคเกจปริมาณงานโหมดคลาวด์: เมื่อสร้างโซลูชัน BE ใน Visual Studio ให้ใช้การกําหนดค่ารุ่นที่วางจําหน่ายเพื่อสร้างแพคเกจปริมาณงานแบบสแตนด์อโลน (BE และ FE) แพคเกจนี้สามารถอัปโหลดไปยังผู้เช่าได้โดยตรง

ไดอะแกรมของสถาปัตยกรรมโหมดคลาวด์

โครงสร้างแพคเกจ NuGet ของปริมาณงาน

ปริมาณงานจะถูกรวมเป็นแพคเกจ NuGet รวมส่วนประกอบ Backend และ frontend เข้าด้วยกัน โครงสร้างเป็นไปตามมาตรฐานการตั้งชื่อเฉพาะและบังคับใช้โดย Fabric เพื่อความสอดคล้องในสถานการณ์การอัปโหลด แพคเกจ NuGet ที่ออกแบบมาเพื่อแสดงปริมาณงานมีโครงสร้างเพื่อรวมทั้งส่วนประกอบ Backend และ frontend

โครงสร้าง Backend

ส่วน Backend ประกอบด้วยไฟล์.xml ที่กําหนดปริมาณงานและรายการที่เกี่ยวข้องซึ่งจําเป็นสําหรับการลงทะเบียนด้วย Fabric

ส่วนประกอบหลัก
  • WorkloadManifest.xml - ไฟล์การกําหนดค่าปริมาณงานจําเป็นต้องมีชื่อที่แน่นอนนี้สําหรับการตรวจสอบของ Fabric
  • Item1.xml, Item2.xml, ... - รายการสําหรับแต่ละรายการที่มีการตั้งชื่อที่ยืดหยุ่นตามรูปแบบ XML

โครงสร้าง Frontend

ส่วน frontend ประกอบด้วย.json ไฟล์ที่อธิบายรายละเอียดผลิตภัณฑ์และรายการสําหรับ frontend พร้อมกับไดเรกทอรี 'assets' สําหรับไอคอน

ส่วนประกอบหลัก
  • Product.json - รายการหลักสําหรับ frontend ของผลิตภัณฑ์ของคุณซึ่งต้องได้รับการตั้งชื่ออย่างแม่นยําเพื่อการตรวจสอบของ Fabric
  • Item1.json, Item2.json- ... รายการสําหรับแต่ละรายการที่มีการตั้งชื่อที่ยืดหยุ่นตามรูปแบบ JSON json แต่ละรายการสอดคล้องกับรายการแบ็กเอนด์ (เช่น Item1.json ถึง Item1.xml)
  • assetsโฟลเดอร์ - จัดเก็บไอคอนicon1.jpgicon2.pngทั้งหมด ใช้...โดย frontend

การปฏิบัติตามโครงสร้างบังคับ

โครงสร้างซึ่งรวมถึงชื่อโฟลเดอร์ย่อยที่เฉพาะเจาะจง ('BE', 'FE', 'assets') เป็นข้อบังคับและบังคับใช้โดย Fabric สําหรับสถานการณ์การอัปโหลดทั้งหมด รวมถึงแพคเกจการทดสอบและการพัฒนา มีการระบุโครงสร้างใน .nuspec ไฟล์ที่พบใน ที่เก็บ ภายใต้ Backend/src/Packages/manifest ไดเรกทอรี

ขีดจำกัด

ข้อจํากัดต่อไปนี้นําไปใช้กับแพคเกจ NuGet ทุกประเภททั้งในโหมดการพัฒนาและโหมดคลาวด์:

  • อนุญาตเฉพาะและFEโฟลเดอร์ย่อยเท่านั้นBE โฟลเดอร์ย่อยหรือไฟล์อื่นๆ ที่อยู่นอกโฟลเดอร์เหล่านี้ส่งผลให้เกิดข้อผิดพลาดในการอัปโหลด
  • โฟลเดอร์BEยอมรับเฉพาะไฟล์เท่านั้น.xml ไฟล์ประเภทอื่นๆ จะส่งผลให้เกิดข้อผิดพลาดในการอัปโหลด
  • อนุญาตให้มีไฟล์รายการสูงสุด 10 ไฟล์ ซึ่งหมายความว่า BE โฟลเดอร์สามารถมีไฟล์ได้สูงสุด WorkloadManifest.xml 10 Item.xml ไฟล์ มีไฟล์รายการมากกว่า 10 ไฟล์ในโฟลเดอร์ทําให้เกิดข้อผิดพลาดในการอัปโหลด
  • โฟลเดอร์ Assets ย่อยต้องอยู่ภายใต้ FE โฟลเดอร์ ซึ่งสามารถประกอบด้วยไฟล์ได้สูงสุด 15 ไฟล์ โดยที่แต่ละไฟล์ต้องมีขนาดไม่เกิน 1.5 MB
  • อนุญาตเฉพาะชนิดแฟ้มต่อไปนี้ในAssetsโฟลเดอร์ย่อย: .jpeg, , .jpg.png
  • โฟลเดอร์ FE สามารถมีไฟล์รายการได้สูงสุด 10 ไฟล์บวกหนึ่ง product.json ไฟล์
  • แอสเซทแต่ละแอสเซทภายใน Assets โฟลเดอร์ต้องถูกอ้างอิงภายในไฟล์รายการ แอสเซทใด ๆ ที่อ้างอิงจากไฟล์รายการหายไปใน Assets โฟลเดอร์จะส่งผลให้เกิดข้อผิดพลาดในการอัปโหลด
  • ชื่อไฟล์สําหรับรายการต้องไม่ซ้ํากัน ชื่อไฟล์ที่ซ้ํากันส่งผลให้เกิดข้อผิดพลาดในการอัปโหลด
  • ชื่อไฟล์ต้องมีอักขระตัวอักษรและตัวเลข (อังกฤษ) หรือเครื่องหมายยัติภังค์เท่านั้น และต้องมีความยาวไม่เกิน 32 อักขระ การใช้อักขระอื่น ๆ หรือเกินความยาวนี้จะส่งผลให้เกิดข้อผิดพลาดในการอัปโหลด
  • ขนาดแพคเกจทั้งหมดต้องไม่เกิน 20 MB
  • โปรดดูรายชื่อแฟ้มข้อมูลปริมาณงานสําหรับข้อจํากัดเฉพาะอย่างชัดแจ้ง

โหมดการพัฒนาเฉพาะที่ (devmode)

Backend ของปริมาณงาน (BE) ทํางานบนเครื่องของนักพัฒนา การเรียกใช้ API ปริมาณงานจะถูกส่งผ่าน Azure Relay ด้วยฝั่งปริมาณงานของช่องทาง Azure Relay ที่จัดการโดยยูทิลิตี้บรรทัดคําสั่งพิเศษ DevGateway การเรียกใช้ API ควบคุมปริมาณงานจะถูกส่งโดยตรงจากปริมาณงานไปยัง Fabric ซึ่งเลี่ยงผ่านช่องทาง Azure Relay โปรแกรมอรรถประโยชน์ DevGateway ยังควบคุมการลงทะเบียนของอินสแตนซ์การพัฒนาภายในเครื่องของปริมาณงานด้วย Fabric ภายในบริบทของพื้นที่ทํางานเฉพาะ เมื่อมีการสิ้นสุดของยูทิลิตี้ DevGateway การลงทะเบียนอินสแตนซ์ของปริมาณงานจะถูกถดถอยโดยอัตโนมัติ สําหรับข้อมูลเพิ่มเติม โปรดดู คู่มือการใช้งาน Back-end

เค้าร่าง DevMode BE

แผนภาพของโหมดพัฒนาเป็นสถาปัตยกรรม Schema

โหมดการพัฒนาระบบคลาวด์ (โหมดคลาวด์)

Backend ของปริมาณงาน (BE) ดําเนินการภายในบริการของคู่ค้า การเรียกใช้ API ปริมาณงานจะทําโดยตรงไปยังจุดสิ้นสุด HTTPS ตามที่ระบุในรายการปริมาณงาน ในสถานการณ์นี้ ไม่จําเป็นต้องมียูทิลิตี้ DevGateway การลงทะเบียนปริมาณงานด้วย Fabric สามารถทําได้โดยการอัปโหลดแพคเกจปริมาณงาน NuGet ไปยัง Fabric และเปิดใช้งานปริมาณงานสําหรับผู้เช่าในภายหลัง สําหรับข้อมูลเพิ่มเติม ดูจัดการปริมาณงานใน Fabric

เค้าร่าง CloudMode BE

ไดอะแกรมของสถาปัตยกรรม BE Schema ของโหมดคลาวด์