대용량

    대용량 파일 관리 스케줄러 개발 정리

    프록시 서버(cpu : 4코어, 메모리 : 8GB)로 받은 API 데이터를 WAS로 전송하지 못했을때 데이터를 파일로 만들어서 주기적으로 재전송 하는 스케줄러 개발 요구사항.재시도 횟수 5회까지는 1분 마다 Call재시도 횟수 5회 이상 10회 까지는 30분마다 Call재시도 횟수 10회 이상일때는 Fail 폴더로 이동 파일명에 _숫자로 재시도 횟수를 표현 했고 1분, 30분 간격으로 돌아가는 스케줄러 두개를 만들었다. Files.walk로 스트림으로 파일들을 가져와서 WAS를 호출하고 실패하면 파일명에 재시도 횟수를 증가하게 했다. 몇만건 데이터를 처리하는데 문제가 없었으나 백만건 이상 파일을 만들어서 테스트를 하니 OOM이 발생했다. 1. 속도 저하스래드 5개로 파일을 돌렸는데 TPS가 150 정도만..