Lewati ke konten

Playbook··2 menit baca

Routing dan Fallback: Tetap Melayani Saat Penyedia Gangguan

Tulis aturan routing sekali dan setiap permintaan mengikutinya: model hemat untuk tugas ringan, cadangan saat penyedia utama gagal, tanpa perlu rilis untuk mengubahnya.

Tim Pecutin

Read in English

Setiap penyedia punya jam buruk. Rate limit saat peluncuran, gangguan regional, model yang tiba-tiba menjawab lebih lambat. Kalau aplikasimu berbicara langsung ke satu penyedia, jam buruknya ikut jadi jam burukmu. Routing adalah cara mencegahnya.

Apa itu aturan routing

Aturan routing adalah keputusan kecil yang ditulis sekali di console: untuk permintaan yang cocok dengan kondisi ini, pakai upstream dan model ini. Aplikasimu tetap mengirim permintaan ke endpoint yang sama, api.pecutin.co/v1, dengan kunci yang sama. Aturannya yang menentukan ke mana permintaan itu benar-benar pergi.

Karena keputusannya tinggal di gateway, mengubahnya tidak butuh build baru aplikasimu. Kamu menyunting aturan, gateway diberi tahu, dan permintaan berikutnya mengikutinya.

Fallback: jalur cadangan

Fallback adalah pilihan kedua. Bila upstream utama mengembalikan galat, permintaan dikirim ke cadangan. Penggunamu melihat jawaban, bukan halaman galat, dan permintaan tetap tercatat di log dan ledger bersama upstream yang benar-benar melayaninya.

Titik awal yang masuk akal:

  1. Model utama untuk tugasnya.
  2. Cadangan dari penyedia lain, supaya gangguan satu penyedia tidak menjatuhkan keduanya.
  3. Rutin memeriksa log untuk melihat seberapa sering fallback melayani permintaan, supaya kamu sadar saat ada masalah di hulu.

Routing untuk biaya, bukan hanya ketersediaan

Mekanisme yang sama menghemat uang. Banyak permintaan tidak butuh model terbesar: ringkasan, klasifikasi, penulisan ulang pendek. Mengarahkannya ke model yang lebih murah, dan menyimpan model mahal untuk tugas sulit, sering jadi pengurangan biaya terbesar. Biaya setiap permintaan ada di ledger, jadi kamu bisa memeriksa apakah sebuah aturan benar-benar membantu.

Uji kegagalannya sebelum terjadi

Fallback yang belum pernah terpakai hanyalah harapan, bukan rencana. Matikan upstream utama dengan sengaja di lingkungan uji, kirim lalu lintas, lalu pastikan cadangan melayaninya dan log menunjukkan upstream mana yang menjawab.

Pertanyaan yang sering diajukan

Apakah saya harus mengubah kode untuk memakai routing?

Tidak. Aplikasimu mengirim permintaan ke endpoint yang sama dengan kunci yang sama. Aturan dipasang di console.

Apakah permintaan fallback ditagih?

Hanya permintaan yang benar-benar menghasilkan jawaban yang ditagih, dengan harga upstream yang melayaninya.

Berhenti mengurus akun satu per satu. Mulai dari satu kunci.