달 50,000배? API의 과도한 호출은 마지막으로 해결되었습니다.
최근에 친구가 나를 와서 그는 비행 책 개발자의 무대에서 심각한 문제를 발견했다 : /open-apis/bot/v3/info, 이 인터페이스는 분 수백 번 호출, 그리고 50,000 배는 밖으로 실행하는 것입니다!

어떻게 발견 했습니까?
Flying Book Developer의 "API Call Statistics"백 스테이지에서 친구는이 인터페이스에 대한 매우 높은 통화를 보았습니다.
| 관련 기사 | 주요 특징 |
| 일일 통화 수 | 43200+ 시간 |
| 1분 간격 | ~ 300배 |
| 월간 소비량 추정 | 50,000배 가까이에. |
그는 갔다 : 나는 로봇입니다. 자주 묻는 질문
문제의 뿌리 원인
I ran OpenClaw의 flybook 확장 코드와 두 곳에서 발견:
1. 상태 체크 트리거 API 호출
probeFeishu() 함수는 botinfo 인터페이스를 호출합니다. 이 기능은 다음과 같은 시나리오에서 호출됩니다:
- 스타트업에 OpenID 받기
- 외부 시스템 쿼리 상태
- WebSocket이 차단될 때
2. 캐시 메커니즘의 부족
원래의 코드는 "모든 통화"이며 캐시가 없었습니다. 10 번의 상태를 요청하더라도 10 API 통화가 있습니다.
해결책: 5 분 캐시 기계장치
나는 probe.ts에 간단한 캐시를 추가 :
// 缓存配置:5分钟内不重复调用 API
const CACHE_TTL_MS = 5 * 60 * 1000;
const botInfoCache = new Map();
핵심 논리는 간단합니다:
- 첫 번째 호출 ♪ 비행 책 API 요청 ♪ 캐시 결과
- 5 분에서 다시 전화하십시오. ○ 직접 다시 캐시 (새로운 요청이 시작되지 않음)
- 실패도 막힘. → 실패할 때 반복된 요구
수정된 효력
| 한국어 | 수정하기 | 수정하기 |
|---|---|---|
| 모든 상태 쿼리 | API를 호출 | 직접 캐시 |
| 다시 시도 | 무제한 Retry | 캐시 5 분 |
| 월간 소비량 추정 | 50000+배 | ~ 300배 |
그것은 간단합니다.: 5 분 당 최대 1 통화, 하루 24 시간 = 288 회 / 월, 약 3,500 회. 원래 50 그랜드 / 월 제한, 그것은 실행되지 않습니다!
적용 장면
이 프로그램은 특히 적합:
- OpenClaw로 확장된 사용자
- 자신의 비행 책 로봇을 개발 하 고 botinfo 인터페이스 자주 호출
- API 스케일은 긴급하고 통화의 번호를 최적화하려는
제품정보
Flying Book API의 오버 할당 문제는 캐시 메커니즘의 부족에 의해 근본적으로 발생합니다. 이 솔루션은 간단합니다 : 캐시와 인터페이스를 호출합니다.
때로는 가장 간단한 최적화는 가장 효과적입니다.