← 목록으로

달 50,000배? API의 과도한 호출은 마지막으로 해결되었습니다.

itadol5j

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

Flight Book API 통화 모니터

어떻게 발견 했습니까?

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의 오버 할당 문제는 캐시 메커니즘의 부족에 의해 근본적으로 발생합니다. 이 솔루션은 간단합니다 : 캐시와 인터페이스를 호출합니다.

때로는 가장 간단한 최적화는 가장 효과적입니다.