Period: 2023.05 ~ 2023.06


💁🏻‍♂️ Project 내용

  1. 목적
    1. [Blocking/Non-Blocking, 비동기/동기]의 개념을 정확히 이해하고 관련 기술을 학습하기 위함.
    2. Nexus Repository에 배포하여 편리하게 사용하기 위함.
  2. 내용
    1. Redis를 통한 문자 전송 요청별 상태 관리

      1. 대량 문자 전송 요청의 경우 대기중 상태로 저장 후 스케줄러를 통해 정해진 시간마다 발송.
      2. NHN의 경우, 하나의 요청에 최대 1000건만 지원하기 때문에 1000건씩 잘라 전송하고 Non-Blocking, 동기 방식으로 다수의 요청에 대한 결과를 집계하여 문자 발송 결과 갱신.
      3. *ExecutorService*를 통한 Thread Pool 관리
    2. JdbcTemplatebatchUpdate() 메서드를 통한 bulk Insert 최적화

      1. Spring Data Jpa의 saveAll 메서드는 내부적으로 개별 insert 로 날리게 되기 때문에 성능 개선을 위해 JdbcTemplate의 batchUpdate 메서드로 대체