0Pricing
Azure Fundamentals · Pelajaran

Probe Kesehatan dan Degradasi Bertahap

Konfigurasikan probe kesehatan load balancer dan Traffic Manager untuk mendeteksi kegagalan dengan cepat, lalu rancang pola pemutus sirkuit dan degradasi bertahap untuk tingkat aplikasi Anda.

Probe Kesehatan dan Degradasi Bertahap adalah pelajaran Azure Fundamentals gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Azure Fundamentals, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Azure Fundamentals mencakup 4 pelajaran total.

Mengapa Probe Kesehatan Sangat Penting

Probe kesehatan adalah mekanisme yang digunakan penyeimbang beban dan pengelola lalu lintas untuk mendeteksi apakah instans backend mampu melayani permintaan. Tanpa probe kesehatan, penyeimbang beban mungkin terus mengirimkan lalu lintas ke server yang gagal atau tidak merespons, sehingga menyebabkan kesalahan yang terlihat oleh pengguna. Probe kesehatan yang dikonfigurasi dengan benar memungkinkan pengalihan lalu lintas otomatis dari instans yang tidak sehat dalam hitungan detik setelah terjadi kegagalan.

Probe Kesehatan Azure Load Balancer

Azure Load Balancer mendukung dua jenis probe kesehatan:

  • probe TCP — memeriksa apakah backend dapat menerima koneksi TCP pada port yang ditentukan. Sederhana, tetapi tidak memverifikasi logika aplikasi.
  • probe HTTP/HTTPS — mengirimkan permintaan GET ke jalur yang ditentukan dan mengharapkan respons 200 OK. Lebih akurat karena menguji titik akhir aplikasi secara langsung.

Backend ditandai sebagai tidak sehat jika probe gagal dalam sejumlah upaya berturut-turut yang dapat dikonfigurasi.

# 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

Merancang Titik Akhir Kesehatan yang Andal

Titik akhir kesehatan yang dirancang dengan baik (/health) tidak hanya mengembalikan 200 OK — titik akhir ini memverifikasi bahwa dependensi penting aplikasi dapat dijangkau. Pemeriksaan kesehatan menyeluruh dapat menguji konektivitas ke basis data, tembolok, dan API hilir. Jika dependensi mana pun tidak tersedia, titik akhir tersebut mengembalikan kode status 5xx, yang memberi sinyal kepada penyeimbang beban untuk mengeluarkan instans ini dari rotasi.

# 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

Probe Kesehatan Traffic Manager

Azure Traffic Manager juga menggunakan probe kesehatan, tetapi pada tingkat regional. Layanan ini mengirimkan permintaan GET HTTP atau HTTPS secara berkala ke URL titik akhir yang dikonfigurasi di setiap region. Jika titik akhir gagal merespons dalam jendela waktu habis selama sejumlah interval berturut-turut, Traffic Manager menandai titik akhir tersebut sebagai mengalami penurunan layanan dan berhenti merutekan kueri DNS ke sana, lalu mengarahkan pengguna ke region yang sehat.

# 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

Probe Kesehatan Application Gateway

Azure Application Gateway memiliki kemampuan probe kesehatan yang lebih canggih daripada Load Balancer standar. Layanan ini mendukung probe khusus yang menentukan header host, rentang kode status yang diharapkan (misalnya, 200-399), dan string pencocokan isi. Application Gateway juga mendukung perutean per jalur, sehingga kumpulan backend yang berbeda dapat memiliki konfigurasi probe kesehatan yang berbeda untuk jalur URL yang berbeda.

# 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

Apa Itu Penurunan Layanan Secara Bertahap

Penurunan layanan secara bertahap adalah kemampuan aplikasi untuk terus menyediakan sebagian fungsi saat satu atau beberapa dependensinya gagal. Alih-alih sepenuhnya berhenti, aplikasi mendeteksi tidak tersedianya layanan yang tidak kritis dan beralih ke kondisi yang menurun tetapi masih berguna. Misalnya, jika layanan rekomendasi gagal, situs perdagangan elektronik dapat menampilkan saran umum alih-alih membuat seluruh halaman produk berhenti berfungsi.

Pola Pemutus Sirkuit

Pola pemutus sirkuit mencegah aplikasi berulang kali memanggil layanan hilir yang mengalami kegagalan. Saat suatu layanan mulai gagal, pemutus sirkuit terbuka dan segera mengembalikan kesalahan atau respons cadangan tanpa melakukan panggilan jaringan. Setelah masa pendinginan, pemutus sirkuit memasuki keadaan setengah terbuka dan mengizinkan satu permintaan percobaan. Jika permintaan tersebut berhasil, sirkuit tertutup dan operasi normal dilanjutkan.

# 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)

Percobaan Ulang dengan Penundaan Eksponensial

Untuk kegagalan sementara (gangguan jaringan singkat atau kelebihan beban layanan sementara), strategi percobaan ulang dengan penundaan Exponential sesuai digunakan. Aplikasi mencoba kembali panggilan yang gagal setelah jeda, dengan menggandakan jeda pada setiap percobaan ulang hingga mencapai maksimum. Menambahkan jitter (variasi acak) pada jeda mencegah semua upaya percobaan ulang berlangsung serempak dan membebani layanan 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

Pola Sekat

Pola sekat mengisolasi berbagai bagian aplikasi ke dalam kumpulan sumber daya sehingga kegagalan di satu area tidak menghabiskan semua sumber daya dan melumpuhkan seluruh sistem. Nama ini diambil dari sekat kapal yang mencegah satu kompartemen yang kebanjiran menenggelamkan seluruh kapal. Di Azure, penerapannya dapat berupa penggunaan kumpulan utas terpisah atau paket App Service terpisah untuk layanan yang berbeda guna membatasi dampak kegagalan.

Respons Cadangan dan Data Tembolok

Salah satu teknik degradasi yang terkendali adalah menyajikan data yang disimpan dalam tembolok atau sudah usang saat sumber data langsung tidak tersedia. Misalnya, halaman katalog produk dapat menyajikan harga kemarin yang disimpan dalam tembolok dari Azure Cache for Redis, alih-alih menampilkan kesalahan jika basis data untuk sementara tidak dapat dijangkau. Pengguna hanya mengalami ketidaknyamanan kecil (harga sedikit usang), bukan kegagalan total.

Pemantauan dan Peringatan atas Degradasi

Degradasi yang terkendali harus terlihat dan terukur. Gunakan Application Insights untuk melacak tingkat pembukaan pemutus sirkuit, respons cadangan, dan upaya percobaan ulang sebagai metrik khusus. Siapkan peringatan saat metrik tersebut melampaui ambang batas, sehingga tim yang bertugas menerima pemberitahuan bahwa aplikasi berjalan dalam keadaan terdegradasi meskipun pengalaman pengguna tampak masih dapat diterima.

Pemeriksaan Singkat

Uji pemahaman Anda tentang konsep Microsoft Azure Fundamentals (AZ-900) dari pelajaran ini.

Ringkasan Pelajaran

Dalam pelajaran ini, Anda telah mempelajari bahwa probe kesehatan memungkinkan penyeimbang beban mendeteksi backend yang gagal dan mengalihkan lalu lintas secara otomatis; degradasi yang terkendali menjaga agar aplikasi tetap berfungsi sebagian saat dependensi mengalami kegagalan; dan pola seperti pemutus sirkuit, percobaan ulang dengan penundaan, serta sekat menerapkan ketahanan pada tingkat aplikasi. Selanjutnya, kita akan membahas konsep pemulihan bencana—menentukan RTO, RPO, dan tingkat pemulihan.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Probe Kesehatan dan Degradasi Bertahap” gratis?

Ya — teks lengkap “Probe Kesehatan dan Degradasi Bertahap” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Azure Fundamentals, upgrade ke CoddyKit PRO. Kursus Azure Fundamentals mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Probe Kesehatan dan Degradasi Bertahap”?

Konfigurasikan probe kesehatan load balancer dan Traffic Manager untuk mendeteksi kegagalan dengan cepat, lalu rancang pola pemutus sirkuit dan degradasi bertahap untuk tingkat aplikasi Anda. Kamu berlatih Azure Fundamentals dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Azure Fundamentals?

Tidak diperlukan pengalaman sebelumnya. Azure Fundamentals di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Probe Kesehatan dan Degradasi Bertahap” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Azure Fundamentals ini?

Ya. Setiap pelajaran Azure Fundamentals menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. SLA Azure dan SLA Komposit
  2. Set Ketersediaan dan Zona Ketersediaan
  3. Arsitektur Active-Active Multi-Region
  4. Probe Kesehatan dan Degradasi Bertahap
← Kembali ke Azure Fundamentals