티스토리 뷰

문제 상황 & 접근

  • 하나의 API에서 Github API 4개와 블록체인을 접근하며 API Latency 대략 5s
바로 데이터를 응답하지 않아도 되는 API 이므로 비동기 처리 적용

 

적용

  • producer - consumer 를 통해 비동기 처리 적용

  • 에러 발생시 일정 횟수 재시도 이후 DeadLetter 처리
    • 주요 에러는 OpenAPI Timeout, RateLimit 에러
    • 여러 단계에 걸친 로직은 없었으며 실패한 Topic명, Payload, 시각 등을 DB에 저장
  • 관리자 이메일로 관련 정보를 보내 확인할 수 있도록 구현


결론

  • 부하테스트를 통해 평균 Latency를 확인하였다.
  • API Latency 21.27배 개선
  • 데드레터를 바로 확인할 수 있으며 DB에 저장된 데드레터 정보 확인으로 장애 상황에 대응 가능

동기 처리 [509.24ms]

비동기 처리 [23.94ms 21.27배 개선]

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
TAG
more
«   2024/09   »
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
글 보관함