디스크에 파일을 쓰거나 데이터베이스에 다른 파일을 쓰는 웹 서비스가 있습니다. 전체 작업은 각 쓰기에 대해 1-2 초가 소요됩니다.Java에서 시간 초과/기아를 피하는 일반적인 방법은 무엇입니까?
서비스는 여러 클라이언트에서 동시에 호출 될 가능성이 거의 없습니다. 20 클라이언트가 동시에 웹 서비스를 호출한다고 가정 해 봅시다. 쓰기 작업은 동기화되어야합니다. 이 경우 일부 클라이언트는 많은 시간을 기다려야하기 때문에 시간 초과 예외가 발생할 수 있습니다.
이런 종류의 상황을 해결할 좋은 방법이 있습니까? 지금은 메서드가 동기화되어 기아/시간 초과가 발생할 수 있습니다.
synchronized
키워드를 제거하여 모든 스레드가 쓰기 메소드에 들어가도록하고 해당 작업을 작업 대기열에 넣어 시간 초과를 방지해야합니까? 이것이 바로 arount를 얻는 올바른 방법입니까?
클라이언트가 고장난 것처럼 들립니다. 서비스가 정상적으로 몇 초가 걸리지 만 클라이언트 시간 초과가 발생하면 클라이언트가 너무 빨리 시간 초과됩니다. 또는 클라이언트가 곧 종료 될 예정이라면, 시간 초과는 정상이며 클라이언트는이를 우아하게 처리해야합니다. –