Azure Fundamentals · Pelajaran

Pengesan Kesihatan dan Kemerosotan Terkawal

Konfigurasikan pengesan kesihatan pengimbang beban dan Traffic Manager untuk mengesan kegagalan dengan pantas, kemudian reka corak pemutus litar dan kemerosotan terkawal untuk peringkat aplikasi anda.

Pelajaran 4 daripada 413 langkah

Pengesan Kesihatan dan Kemerosotan Terkawal ialah pelajaran Azure Fundamentals percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Azure Fundamentals, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Azure Fundamentals merangkumi sejumlah 4 pelajaran.

Mengapa Penyiasatan Kesihatan Penting

Penyiasatan kesihatan ialah mekanisme yang digunakan oleh pengimbang beban dan pengurus trafik untuk mengesan sama ada tika belakang mampu melayan permintaan. Tanpa penyiasatan kesihatan, pengimbang beban mungkin terus menghantar trafik kepada pelayan yang gagal atau tidak memberikan respons, lalu menyebabkan ralat yang dilihat pengguna. Penyiasatan kesihatan yang dikonfigurasikan dengan betul membolehkan penghalaan semula trafik secara automatik menjauhi tika belakang yang tidak sihat dalam beberapa saat selepas kegagalan.

Penyiasatan Kesihatan Azure Load Balancer

Azure Load Balancer menyokong dua jenis penyiasatan kesihatan:

  • penyiasatan TCP — menyemak sama ada tika belakang boleh menerima sambungan TCP pada port yang ditentukan. Ringkas tetapi tidak mengesahkan logik aplikasi.
  • penyiasatan HTTP/HTTPS — menghantar permintaan GET ke laluan yang ditentukan dan menjangkakan respons 200 OK. Lebih tepat kerana menguji titik akhir aplikasi secara terus.

Tika belakang ditandakan sebagai tidak sihat jika penyiasatan gagal untuk bilangan percubaan berturut-turut yang boleh dikonfigurasikan.

# Create an HTTP health probe for an Azure Load Balancer:
az network lb probe create \
  --resource-group myRG \
  --lb-name myLoadBalancer \
  --name httpHealthProbe \
  --protocol Http \
  --port 80 \
  --path /health \
  --interval 15 \
  --threshold 2

Mereka Bentuk Titik Akhir Kesihatan yang Boleh Dipercayai

Titik akhir kesihatan yang direka dengan baik (/health) melakukan lebih daripada sekadar mengembalikan 200 OK — titik akhir ini mengesahkan bahawa kebergantungan kritikal aplikasi boleh dicapai. Semakan kesihatan yang menyeluruh mungkin menguji kesambungan ke pangkalan data, cache dan mana-mana API hiliran. Jika mana-mana kebergantungan tidak tersedia, titik akhir tersebut mengembalikan kod status 5xx, yang memberi isyarat kepada pengimbang beban supaya mengeluarkan tika belakang ini daripada giliran.

# Example health endpoint response (JSON):
# GET /health
# {
#   'status': 'healthy',
#   'checks': {
#     'database': 'ok',
#     'cache': 'ok',
#     'externalApi': 'ok'
#   }
# }
# If database check fails, return HTTP 503 instead of 200

Penyiasatan Kesihatan Traffic Manager

Azure Traffic Manager juga menggunakan penyiasatan kesihatan, tetapi pada peringkat rantau. Ia menghantar permintaan GET HTTP atau HTTPS berkala kepada URL titik akhir yang dikonfigurasikan di setiap rantau. Jika titik akhir gagal memberikan respons dalam tempoh tamat masa untuk bilangan selang berturut-turut yang ditetapkan, Traffic Manager menandakan titik akhir itu sebagai terjejas dan berhenti menghala pertanyaan DNS kepadanya, lalu mengubah hala pengguna ke rantau yang sihat.

# Configure Traffic Manager health probe settings:
az network traffic-manager profile update \
  --resource-group myRG \
  --name myTMProfile \
  --monitor-protocol HTTPS \
  --monitor-port 443 \
  --monitor-path /health \
  --monitor-interval 30 \
  --monitor-timeout 10 \
  --monitor-tolerated-failures 3

Penyiasatan Kesihatan Application Gateway

Azure Application Gateway mempunyai keupayaan penyiasatan kesihatan yang lebih canggih berbanding Load Balancer standard. Ia menyokong penyiasatan tersuai yang menentukan pengepala hos, julat kod status yang dijangka (contohnya, 200-399) dan rentetan padanan isi. Application Gateway juga menyokong penghalaan mengikut laluan, supaya kumpulan tika belakang yang berbeza boleh mempunyai konfigurasi penyiasatan kesihatan yang berbeza untuk laluan URL yang berbeza.

# Create a custom probe for Application Gateway:
az network application-gateway probe create \
  --gateway-name myAppGateway \
  --resource-group myRG \
  --name customProbe \
  --protocol Http \
  --host-name-from-http-settings true \
  --path /api/health \
  --interval 20 \
  --timeout 10 \
  --threshold 3

Apakah Pengurangan Fungsi Secara Terkawal?

Pengurangan fungsi secara terkawal ialah keupayaan aplikasi untuk terus menyediakan sebahagian fungsi apabila satu atau lebih kebergantungannya gagal. Daripada ranap sepenuhnya, aplikasi mengesan ketidaktersediaan perkhidmatan yang tidak kritikal dan beralih kepada keadaan yang kurang berfungsi tetapi masih berguna. Contohnya, jika perkhidmatan pengesyoran gagal, laman e-dagang boleh memaparkan cadangan umum dan bukannya menyebabkan seluruh halaman produk ranap.

Corak Pemutus Litar

corak pemutus litar menghalang aplikasi daripada berulang kali memanggil perkhidmatan hiliran yang gagal. Apabila perkhidmatan mula gagal, pemutus litar terbuka lalu mengembalikan ralat atau respons sandaran serta-merta tanpa membuat panggilan rangkaian. Selepas tempoh penyejukan, pemutus litar memasuki keadaan separa terbuka dan membenarkan satu permintaan percubaan. Jika permintaan itu berjaya, litar tertutup dan operasi biasa diteruskan.

# Circuit breaker states:
# CLOSED: normal operation, calls pass through
# OPEN:   service failing, calls immediately return error/fallback
# HALF-OPEN: cool-down expired, try one request:
#           success -> CLOSED
#           failure -> OPEN (reset timer)

# Libraries: Polly (.NET), Resilience4j (Java), polly-js (JS)

Percubaan Semula dengan Pengunduran Eksponen

Untuk kegagalan sementara (gangguan rangkaian yang singkat atau lebihan beban perkhidmatan sementara), strategi percubaan semula dengan pengunduran eksponen adalah sesuai. Aplikasi mencuba semula panggilan yang gagal selepas suatu kelewatan, dengan menggandakan kelewatan itu pada setiap percubaan sehingga mencapai maksimum. Menambahkan jitter (variasi rawak) pada kelewatan menghalang semua percubaan semula daripada disegerakkan dan membebankan perkhidmatan yang sedang pulih.

# Exponential backoff with jitter (pseudocode):
# attempt 1: wait 1s  + random(0-500ms)
# attempt 2: wait 2s  + random(0-500ms)
# attempt 3: wait 4s  + random(0-500ms)
# attempt 4: wait 8s  + random(0-500ms)
# max retries: 4
# max wait: 30s (cap)
# After max retries: return error to caller

Corak Sekat

corak sekat mengasingkan bahagian berlainan dalam aplikasi ke dalam kumpulan sumber supaya kegagalan di satu bahagian tidak menggunakan semua sumber dan menyebabkan keseluruhan sistem terhenti. Namanya diambil daripada sekat kapal yang menghalang satu ruang yang dimasuki air daripada menenggelamkan seluruh kapal. Dalam Azure, ini mungkin bermaksud menggunakan kumpulan utas berasingan atau pelan App Service berasingan untuk perkhidmatan berlainan bagi mengehadkan kesan kegagalan.

Respons Sandaran dan Data Dicache

Teknik pengurangan fungsi secara terkawal yang biasa digunakan ialah menyediakan data yang dicache atau lapuk apabila sumber data langsung tidak tersedia. Sebagai contoh, halaman katalog produk mungkin memaparkan harga semalam yang dicache daripada Azure Cache for Redis dan bukannya menunjukkan ralat jika pangkalan data tidak dapat dicapai buat sementara waktu. Pengguna mengalami kesulitan kecil (harga yang sedikit lapuk), bukannya kegagalan sepenuhnya.

Pemantauan dan Pemberitahuan tentang Pengurangan Fungsi

Pengurangan fungsi secara terkawal hendaklah jelas kelihatan dan diukur. Gunakan Application Insights untuk menjejaki kadar pembukaan pemutus litar, respons sandaran dan percubaan semula sebagai metrik tersuai. Sediakan makluman apabila metrik ini melebihi ambang, supaya pasukan bertugas dimaklumkan bahawa aplikasi sedang berjalan dalam keadaan fungsi terkurang walaupun pengalaman pengguna kelihatan memuaskan.

Semakan Pantas

Uji pemahaman anda tentang konsep Microsoft Azure Fundamentals (AZ-900) daripada pelajaran ini.

Ulang Kaji Pelajaran

Dalam pelajaran ini, anda telah mempelajari bahawa: proba kesihatan membolehkan pengimbang beban mengesan bahagian belakang yang gagal dan menghala semula trafik secara automatik; pengurangan fungsi secara terkawal memastikan aplikasi kekal berfungsi sebahagiannya apabila kebergantungan gagal; dan corak seperti pemutus litar, percubaan semula dengan pengunduran dan sekat melaksanakan daya tahan pada peringkat aplikasi. Seterusnya, kita akan meneroka konsep pemulihan bencana — mentakrifkan RTO, RPO dan peringkat pemulihan.

Percuma untuk bermula

Pelajari Azure Fundamentals dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
30
Pelajaran
120

Soalan Lazim

Adakah pelajaran “Pengesan Kesihatan dan Kemerosotan Terkawal” percuma?

Ya — teks penuh “Pengesan Kesihatan dan Kemerosotan Terkawal” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Azure Fundamentals, tingkat taraf kepada CoddyKit PRO. Kursus Azure Fundamentals merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Pengesan Kesihatan dan Kemerosotan Terkawal”?

Konfigurasikan pengesan kesihatan pengimbang beban dan Traffic Manager untuk mengesan kegagalan dengan pantas, kemudian reka corak pemutus litar dan kemerosotan terkawal untuk peringkat aplikasi anda. Anda berlatih Azure Fundamentals menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Azure Fundamentals?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Azure Fundamentals di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.

Berapa lamakah pelajaran “Pengesan Kesihatan dan Kemerosotan Terkawal” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Azure Fundamentals ini?

Ya. Setiap pelajaran Azure Fundamentals menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. SLA Azure dan SLA Komposit
  2. Set Ketersediaan dan Zon Ketersediaan
  3. Seni Bina Aktif-Aktif Berbilang Wilayah
  4. Pengesan Kesihatan dan Kemerosotan Terkawal
← Kembali ke Azure Fundamentals