← Kembali ke senarai

50.000 kali sebulan? Panggilan berlebihan API akhirnya diselesaikan.

itadol5j

Baru-baru ini, seorang teman datang kepada saya dan mengatakan ia menemukan masalah serius di belakang panggung pengembang buku terbang: /open-apis/bot/v3/info, antarmuka ini disebut ratusan kali per menit, dan 50.000 kali sebulan akan habis!

Pemantau Panggilan API Buku Penerbangan

Bagaimana kau tahu?

Teman-teman di API Panggilan Statistik" di belakang panggung Pengembang Buku Terbang melihat jumlah panggilan yang luar biasa tinggi untuk antarmuka ini:

Penunjuk Penunjuk PenunjukNilai
Nomor panggilan harian43200+ kali
Panggilan setiap menit300 kali
Perkiraan konsumsi bulananHampir 50.000 kali.

Aku robot. Bagaimana aku bisa sering menelepon?

Akar penyebab masalahnya

Aku menjalankan kode ekstensi buku terbang OpenClaw dan menemukannya di dua tempat:

1. Status cek cek pemicu panggilan API

Fungsi probeFeishu () menyebut antarmuka botinfo untuk buku terbang setiap kali Anda bertanya tentang status robot. Fungsi ini disebut dalam skenario berikut:

  • Luncurkan ID Terbuka pada permulaan
  • Ubuntu Ketika status pertanyaan sistem eksternal
  • When WebSocket diputus

2. Kurangnya mekanisme cache

Kode aslinya adalah "Tanyakan setiap panggilan", dan tidak ada cache. Bahkan jika Anda meminta keadaan 10 kali, Anda akan memiliki 10 API panggilan.

Solusi: 5 menit mekanisme cache

Aku menambahkan cache sederhana ke prob.ts:

// 缓存配置:5分钟内不重复调用 API
const CACHE_TTL_MS = 5 * 60 * 1000;
const botInfoCache = new Map();

Logika intinya sederhana:

  • Panggilan Pertama Permintaan untuk buku terbang API
  • Panggil lagi dalam 5 menit. ○ Cache belakang langsung (tidak ada permintaan baru yang dimulai)
  • Gagal juga tersumbat. → Hindari permintaan berulang ketika gagal

Efek yang diubah

KontrasSebelum UbahsuaiDiubahsuai
Setiap pertanyaan statusPanggilan APICache Langsung Cache
Gagal untuk mencoba lagiCoba Lagi Tanpa BatasCache Cache 5 Menit
Perkiraan konsumsi bulanan20,000+ kali300 kali

Sederhana saja.Maksimum 1 panggilan per 5 menit, 24 jam per hari = 288 kali/bulan, kira-kira 3.500 kali setahun. Batas 50 ribu bulan yang asli, tidak akan habis!

Terapkan adegan

Program ini sangat cocok untuk:

  • Pengguna User dari OpenClaw
  • Mengembangkan robot buku terbang Anda sendiri dan sering menyebut antarmuka botinfo
  • Skala API mendesak dan ingin mengoptimalkan jumlah panggilan

Ringkasan

Masalah over-alokasi Buku Terbang API pada dasarnya disebabkan oleh kurangnya mekanisme cache. Solusinya sederhana: hubungi antarmuka dengan sebuah cache.

Kadang-kadang optimasi paling sederhana adalah yang paling efektif.