Tomcat 8.0 서버, nio 모드를 사용합니다. 다른 것들은 기본 구성입니다.
나머지 spring mvc를 사용하여 인터페이스를 작성한 후 httpclient로 구현된 연결 풀을 통해 Resttemplate으로 호출했습니다. 동시에 1,000건의 요청이 접수되었을 때, 일부 요청이 타임아웃된 것으로 확인되었습니다. 액세스 오류가 발생합니다. <그러나 일부 요청 시간이 초과되었기 때문에 애플리케이션이 중단되지 않았습니다>.
전체 시스템 아키텍처는 이렇습니다
A, B, C 세 개의 애플리케이션이 있습니다.
C는 데이터베이스 운영, 인터페이스 제공, JSON 반환을 담당합니다.
B는 비즈니스 처리, 인터페이스 제공, JSON 반환, 그리고 C의 인터페이스를 호출하여 데이터를 저장/읽는다
A는 프론트 데스크를 담당하고 B의 인터페이스를 호출한다.
A가 B를 호출할 때 복잡한 밸런싱은 nginx를 통해 이루어진다.
죄송하지만 타임아웃이 발생할 수 있는 상황은 무엇인가요?
B는 C에게 전화를 걸어 데이터베이스 측인지 확인합니다.
먼저 문제가 어느 단계인지 파악한 후, 자세히 분석해보세요. 각 인터페이스 호출에 소요되는 시간을 출력할 수 있습니다