สํารวจการรวม Dapr กับ Azure Container Apps
รันไทม์แอปพลิเคชันแบบกระจาย (Dapr) เป็นชุดของคุณลักษณะที่นํามาใช้ได้แบบเพิ่มหน่วย เพื่อลดความซับซ้อนของการเขียนแอปพลิเคชันแบบกระจายโดยใช้ไมโครซอฟต์ Dapr มีความสามารถในการเปิดใช้งานการสื่อสารของแอปพลิเคชันผ่านการรับส่งข้อความผ่าน pub / sub หรือการโทรบริการที่เชื่อถือได้และปลอดภัย
Dapr เป็นโอเพนซอร์ส (open source) Cloud Native Computing Foundation (CNCF) โครงการ CNCF เป็นส่วนหนึ่งของ Linux Foundation และให้การสนับสนุน การกํากับดูแล และทิศทางสําหรับโครงการระบบคลาวด์ที่เติบโตอย่างรวดเร็ว เป็นทางเลือกในการปรับใช้และการจัดการโครงการ Dapr OSS ด้วยตัวคุณเอง แพลตฟอร์มแอปคอนเทนเนอร์:
- ให้การผสานรวม Dapr ที่มีการจัดการและสนับสนุน
- จัดการการอัพเกรดเวอร์ชัน Dapr อย่างราบรื่น
- เปิดเผยแบบจําลองการโต้ตอบแบบ Dapr ที่ใช้งานง่ายเพื่อเพิ่มประสิทธิภาพการทํางานของนักพัฒนา
API Dapr
ภาพหน้าจอ
| Dapr API | คำอธิบาย |
|---|---|
| การเรียกบริการ | ค้นหาบริการและดําเนินการโทรผ่านบริการโดยตรงที่เชื่อถือได้ด้วยการรับรองความถูกต้อง mTLS อัตโนมัติและการเข้ารหัสลับ |
| การจัดการรัฐของ | มีความสามารถในการจัดการสถานะสําหรับธุรกรรมและการดําเนินงาน CRUD |
| Pub/sub | อนุญาตให้ผู้เผยแพร่และผู้สมัครใช้งานแอปคอนเทนเนอร์สื่อสารผ่านตัวแทนข้อความตัวกลาง |
| การรวม | ทริกเกอร์แอปพลิเคชันของคุณตามเหตุการณ์ |
| Actors | Actors Dapr เป็นหน่วยที่ขับเคลื่อนด้วยข้อความ แบบเธรดเดียว หน่วยของงานที่ออกแบบมาเพื่อปรับขนาดอย่างรวดเร็ว ตัวอย่างเช่นในสถานการณ์ปริมาณงานที่หนักหน่อ |
| ความสามารถในการสังเกต | ส่งข้อมูลการติดตามไปยัง Backend ข้อมูลเชิงลึกของแอปพลิเคชัน |
| ความลับของ | เข้าถึงข้อมูลลับจากรหัสแอปพลิเคชันของคุณหรืออ้างอิงค่าความปลอดภัยในคอมโพเนนต์ Dapr ของคุณ |
| การกําหนดค่า | เรียกใช้และสมัครใช้งานรายการการกําหนดค่าแอปพลิเคชันสําหรับที่เก็บการกําหนดค่าที่ได้รับการสนับสนุน |
โน้ต
ตารางครอบคลุม Api ของ Dapr ที่เสถียร เมื่อต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ alpha API และคุณลักษณะ เยี่ยมชมข้อจํากัด
แนวคิดหลัก Dapr
ตัวอย่างต่อไปนี้ที่ยึดตาม Pub/sub API ถูกใช้เพื่อแสดงแนวคิดหลักที่เกี่ยวข้องกับ Dapr ใน Azure Container Apps
| ฉลาก | การตั้งค่า Dapr | คำอธิบาย |
|---|---|---|
| 1 | แอปคอนเทนเนอร์ที่มีการเปิดใช้งาน Dapr | Dapr จะเปิดใช้งานที่ระดับแอปคอนเทนเนอร์โดยการกําหนดค่าชุดอาร์กิวเมนต์ของ Dapr ค่าเหล่านี้นําไปใช้กับการแก้ไขทั้งหมดของแอปคอนเทนเนอร์ที่กําหนดเมื่อเรียกใช้ในโหมดการแก้ไขหลายรายการ |
| 2 | Dapr | DAPR API ที่มีการจัดการอย่างเต็มที่จะถูกแสดงให้กับแต่ละแอปคอนเทนเนอร์ผ่านด้านข้างของ Dapr สามารถเรียกใช้ Dapr API จากแอปคอนเทนเนอร์ของคุณผ่านทาง HTTP หรือ gRPC Sidecar ของ Dapr ทํางานบนพอร์ต HTTP 3500 และพอร์ต gRPC 50001 |
| 3 | การกําหนดค่าคอมโพเนนต์ Dapr | Dapr ใช้การออกแบบแบบโมดูลาร์ที่มีการจัดส่งฟังก์ชันการทํางานเป็นคอมโพเนนต์ สามารถแชร์คอมโพเนนต์ Dapr ในแอปคอนเทนเนอร์หลายแอป ตัวระบุแอป Dapr ที่ระบุไว้ในอาร์เรย์ขอบเขตจะกําหนดว่าแอปคอนเทนเนอร์ที่เปิดใช้งาน dapr ใดที่โหลดคอมโพเนนต์ที่ระบุในขณะทํางาน |
การเปิดใช้งาน Dapr
คุณสามารถกําหนดค่า Dapr โดยใช้อาร์กิวเมนต์ ต่างๆ และคําอธิบายประกอบ ตามบริบทรันไทม์ Azure Container Apps มีสามช่องซึ่งคุณสามารถกําหนดค่า Dapr ได้:
- CLI แอปคอนเทนเนอร์
- เทมเพลตโครงสร้างพื้นฐานเป็นโค้ด (IaC) เช่นเดียวกับในเทมเพลต Bicep หรือ Azure Resource Manager (ARM)
- พอร์ทัล Azure
ส่วนประกอบและขอบเขตของ Dapr
Dapr ใช้การออกแบบแบบโมดูลาร์ที่มีการจัดส่งฟังก์ชันการทํางานเป็นคอมโพเนนต์ การใช้ส่วนประกอบของ Dapr เป็นทางเลือกและกําหนดโดยความต้องการของแอปพลิเคชันของคุณโดยเฉพาะ
คอมโพเนนต์ Dapr ในแอปคอนเทนเนอร์เป็นทรัพยากรระดับสภาพแวดล้อมที่:
- สามารถให้แบบจําลองนามธรรมแบบเสียบได้สําหรับการเชื่อมต่อไปยังสนับสนุนบริการภายนอก
- สามารถแชร์ข้ามแอปคอนเทนเนอร์หรือกําหนดขอบเขตไปยังแอปคอนเทนเนอร์เฉพาะได้
- สามารถใช้ข้อมูลลับของ Dapr เพื่อดึงข้อมูลเมตาดาต้าการกําหนดค่าได้อย่างปลอดภัย
ตามค่าเริ่มต้น แอปคอนเทนเนอร์ที่เปิดใช้งาน Dapr ทั้งหมดภายในสภาพแวดล้อมเดียวกันจะโหลดชุดคอมโพเนนต์ที่ปรับใช้ทั้งหมด เพื่อให้แน่ใจว่ามีการโหลดคอมโพเนนต์ในขณะทํางานโดยแอปคอนเทนเนอร์ที่เหมาะสมเท่านั้น จึงควรใช้ขอบเขตของแอปพลิเคชัน