많은 외부 API를 호출해야 하는 상황에서 성능 개선 (with. webClient)
배경 회사에서 7만개 혹은 11만개의 데이터를 외부에서 받아와 대량으로 전송해야하는 배치 프로그램을 개발 중이었습니다. 처음엔 FeignClient를 사용하여 개발 하였습니다. 하지만 단일 스레드로는 성능이 너무 나오지 않아 11번 호출해서 데이터를 받아오는데에도 오랜시간이 소요되었습니다. 만약 7만개 이상의 데이터를 가져오려면 너무 오랜 시간 동안 배치가 실행되어야 했고, 그러면 다른 배치들과 겹쳐서 돌아가기 때문에 서버에 큰 부담이 생기거나 제가 올린 배치 때문에 병목 현상이 생기는것도 고려해야했습니다. 🤔 멀티 스레드를 사용한다면? 처음에 이 문제를 해결 하기 위해서 저는 멀티 스레드를 사용했습니다. Executor를 Bean으로 등록하고 서비스에서 주입 받아 사용했습니다. @Service @Req..
Spring Framwork & JPA
2023. 1. 2. 20:58
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 백엔드
- 인터뷰
- swarm
- thread
- DB
- 프로그래밍
- docker
- 취준
- 코딩
- IT
- 면접준비
- MySQL
- Redis
- DevOps
- 코드
- 취업준비
- java
- 프로젝트
- 동시성
- 개발
- 게시판
- Kotlin
- 자바
- 면접
- 면접 준비
- 취업
- Spring
- JPA
- 개발자
- CS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함