Menjelajahi integrasi Dapr dengan Azure Container Apps
Distributed Application Runtime (Dapr) adalah serangkaian fitur yang dapat diadopsi secara bertahap yang menyederhanakan penulisan aplikasi berbasis layanan mikro terdistribusi. Dapr menyediakan kemampuan untuk mengaktifkan interkomunikasi aplikasi melalui olahpesan melalui pub/sub atau panggilan layanan ke layanan yang andal dan aman.
Dapr adalah proyek Cloud Native Computing Foundation (CNCF) sumber terbuka. CNCF adalah bagian dari Linux Foundation dan menyediakan dukungan, pengawasan, dan arah untuk proyek asli cloud yang berkembang pesat. Sebagai alternatif untuk menyebarkan dan mengelola proyek DAPR OSS sendiri, platform Container Apps:
- Menyediakan integrasi Dapr yang dikelola dan didukung
- Menangani peningkatan versi Dapr dengan mulus
- Mengekspos model interaksi Dapr yang disederhanakan untuk meningkatkan produktivitas pengembang
API Dapr
| Dapr API | Deskripsi |
|---|---|
| Pemanggilan layanan ke layanan | Temukan layanan dan lakukan panggilan layanan ke layanan langsung yang andal dengan autentikasi dan enkripsi mTLS otomatis. |
| Manajemen status | Menyediakan kemampuan manajemen status untuk transaksi dan operasi CRUD. |
| Pub/sub | Memungkinkan aplikasi kontainer penerbit dan pelanggan untuk berkomunikasi melalui broker pesan perantara. |
| Pengikatan-Pengikatan | Memicu aplikasi Anda berdasarkan peristiwa |
| Aktor | Aktor Dapr adalah unit kerja berbasis pesan, berulir tunggal, yang dirancang untuk menskalakan dengan cepat. Misalnya, dalam situasi beban kerja yang berat. |
| Observabilitas | Kirim informasi pelacakan ke backend Application Insights. |
| Rahasia | Akses rahasia dari kode aplikasi Anda atau referensikan nilai aman di komponen Dapr Anda. |
| Konfigurasi | Mengambil dan berlangganan item konfigurasi aplikasi untuk penyimpanan konfigurasi yang didukung. |
Catatan
Tabel mencakup API Dapr yang stabil. Untuk mempelajari selengkapnya tentang menggunakan API dan fitur alfa, kunjungi batasan.
Konsep inti Dapr
Contoh berikut berdasarkan Pub/sub API digunakan untuk mengilustrasikan konsep inti yang terkait dengan Dapr di Azure Container Apps.
| Etiket | Pengaturan Dapr | Deskripsi |
|---|---|---|
| 1 | Container Apps dengan Dapr diaktifkan | Dapr diaktifkan di tingkat aplikasi kontainer dengan mengonfigurasi sekumpulan argumen Dapr. Nilai-nilai ini berlaku untuk semua revisi aplikasi kontainer tertentu saat berjalan dalam beberapa mode revisi. |
| 2 | Dapr | API Dapr yang dikelola sepenuhnya diekspos ke setiap aplikasi kontainer melalui sidecar Dapr. API Dapr dapat dipanggil dari aplikasi kontainer Anda melalui HTTP atau gRPC. Sidecar Dapr berjalan pada port HTTP 3500 dan port gRPC 50001. |
| 3 | Konfigurasi komponen Dapr | Dapr menggunakan desain modular di mana fungsionalitas dikirimkan sebagai komponen. Komponen Dapr dapat dibagikan di beberapa aplikasi kontainer. Pengidentifikasi aplikasi Dapr yang disediakan dalam array cakupan menentukan aplikasi kontainer dengan dukungan dapr mana yang memuat komponen tertentu saat runtime. |
Pengaktifan Dapr
Anda dapat mengonfigurasi Dapr menggunakan berbagai argumen dan anotasi berdasarkan konteks runtime. Azure Container Apps menyediakan tiga saluran tempat Anda dapat mengonfigurasi Dapr:
- CLI Aplikasi Kontainer
- Templat Infrastruktur sebagai Kode (IaC), seperti dalam templat Bicep atau Azure Resource Manager (ARM)
- Portal Microsoft Azure
Komponen dan cakupan Dapr
Dapr menggunakan desain modular di mana fungsionalitas dikirimkan sebagai komponen. Penggunaan komponen Dapr bersifat opsional dan ditentukan secara eksklusif oleh kebutuhan aplikasi Anda.
Komponen Dapr dalam aplikasi kontainer adalah sumber daya tingkat lingkungan yang:
- Dapat menyediakan model abstraksi yang dapat dicolokkan untuk menyambungkan ke layanan eksternal pendukung.
- Dapat dibagikan di seluruh aplikasi kontainer atau dilingkup ke aplikasi kontainer tertentu.
- Dapat menggunakan rahasia Dapr untuk mengambil metadata konfigurasi dengan aman.
Secara default, semua aplikasi kontainer berkemampuan Dapr dalam lingkungan yang sama memuat set lengkap komponen yang disebarkan. Untuk memastikan komponen dimuat pada runtime hanya oleh aplikasi kontainer yang sesuai, cakupan aplikasi harus digunakan.