로딩
요청 처리 중입니다...

Spring 비동기 Executor 설계 기준

 Spring 비동기 Executor 설계 기준

비동기 작업을 처리할 때 ForkJoinPool.commonPool() 대신 별도 Executor를 사용하면, 공용 풀을 다른 작업과 공유하면서 생기는 영향을 줄일 수 있습니다. 하지만 별도 Executor를 사용한다고 해서 모든 문제가 해결되는 것은 아닙니다.

Executor 역시 제한된 자원입니다. 스레드 수, 큐 용량, timeout, 거부 정책을 어떻게 설정하느냐에 따라 비동기 작업의 안정성이 달라질 수 있습니다.

또한 Executor를 너무 많이 나누면 스레드 수와 메모리 사용량이 증가하고, 모니터링과 장애 분석도 어려워질 수 있습니다. 이번 글에서는 Spring에서 비동기 작업을 처리할 때, Executor를 어떤 기준으로 나누고 관리해야 하는지 정리해 보겠습니다. 1.

비동기 작업과 Executor의 관계 Spring/Java에서 비동기 작업을 실행하는 방법은 여러 가지가 있습니다. 대표적으로 CompletableFuture를 사용할 수 있습니다.

CompletableF...