API getName (String id)을 사용하여 편안한 서비스 X가 있다고 가정합니다. 내 코드는로드 밸런서 뒤에있는 5 대의 시스템에 배포됩니다. 이 클라이언트에서 동일한 클라이언트 코드가 실행되고 getName (String) API에 대해 서비스 X를 호출하는 어딘가. 이 서비스는 초당 최대 3 개의 통화를 처리 할 수있는 제한을두고 있습니다. 요청 시간이 200ms라고 가정 할 때 클라이언트가 서버의 3TPS 제한을 초과하지 않도록하려면 어떻게해야합니까? 내 고객이 서로 의사 소통 할 수있는 메커니즘이 없습니다. 서버 쪽에서 조절을 방지하려면 어떻게합니까? 내 함대 크기를 5에서 10 또는 15로 늘리면 어떻게 될까요? 내가 할 수있는 일이 있니?클라이언트 코드가 여러 시스템에서 실행될 때 서비스 호출의 상한을 보장하는 방법은 무엇입니까?
저의 경우 기하 급수적 인 지수 감소 백 오프 작업과 같은 것이 있습니까?
지수 백 오프는 클라이언트가 서비스를 다시 시도하는 경우에 실제로 발생하며 서비스를 압도하는 재시도 횟수를 방지하기 위해 초당 호출 수를 완전히 허용하지 않아야합니다. 맞다 .... 어떤 ip에서 초당 3 개 이상의 전화를 즐겁게하지 않느냐 ?? – prashant
나는 클라이언트 측을 돌 보았다. 내가 초당 3 개 이상의 전화를하지 않도록하려면 어떻게해야합니까? 제 질문은 무엇입니까? 왜 다시 물어볼 수 있습니까? 나는 그것을 보장하는 법을 모른다. 내가 묻는 것을 –
초당 3 번 이상 호출하면 어떻게 될까? 문제를 식별하는 오류가 발생 했습니까? 나중에 요청을 다시 시도 할 수 있습니까? 실패한 요청은 초당 3 통화에 포함됩니까? –