타사 서버에서 데이터를 가져와야하고 그 서버가 초당 최대 1 요청을 허용하는 앱을 개발 중입니다.큐 레이트 제한
이제 모든 요청이 작업으로 전송되고 초당 1 작업을 릴리스하는 Laravel "Rate Limiting"을 구현하려고하지만 구현해야하는 이유와 웹에 실제 예제가 없다는 것을 알 수 없습니다.
누구든지 구현 했습니까?
어떤 힌트일까요?
타사 서버에서 데이터를 가져와야하고 그 서버가 초당 최대 1 요청을 허용하는 앱을 개발 중입니다.큐 레이트 제한
이제 모든 요청이 작업으로 전송되고 초당 1 작업을 릴리스하는 Laravel "Rate Limiting"을 구현하려고하지만 구현해야하는 이유와 웹에 실제 예제가 없다는 것을 알 수 없습니다.
누구든지 구현 했습니까?
어떤 힌트일까요?
이 같은 작업을 수행 할 수 있습니다 당신은 단지 하나의 노동자가 가정 :
:
doSomething()
$time = microtime(true);
usleep(1000 - ($time - LARAVEL_START));
이 패키지를 사용하면 Redis 또는 파일 같은 다른 소스에서 속도 제한을 사용할 수 있습니다. 설정을 사용하여 시간 제한의 분수로 버킷 크기 및 비율을 설정하므로 매우 작은 저장 공간입니다.
composer require bandwidth-throttle/token-bucket
https://github.com/bandwidth-throttle/token-bucket
그것은 당신이 경우에 수표를 포장 할 수 있습니다, 그래서 무료 토큰을 사용할 수하는 것이 대기
, (1) 귀하의 예제에서 분. 실제로, 새로운 분이 될 때까지 필요한 시간 동안 서비스를 잠자기 상태로 만듭니다.
내부 API를 호출하여 외부 API를 사용하고이 작업을 사용하여 내부 API를 사용하십시오. 자신의 내부 API에 대한 속도를 제한하십시오. – Ohgodwhy