🌀
f1v3-log
  • Welcome
  • 개발
    • SecurityContext를 새로 만들어야 할까?
    • OAuth2AuthorizationRequestResolver 커스터마이징
    • 동시성 문제를 해결해보자
    • MySQL은 어떻게 ID 값을 순차적으로 넣어주는 것일까? (Feat. Auto Increment Lock)
    • 외부 API 호출에 대한 고찰
      • HTTP Clients in Spring Boot
      • I/O와 트랜잭션 분리하기
      • 처리율 제한 장치 (Rate Limiter) 도입
      • 외부 API 의존성을 줄여보자
      • 캐시 레이어를 구성해보자 (Local Cache)
    • JPA Deep Dive
      • 결제 및 정산 시스템 기능 요구사항 분석
      • 글로벌 서비스를 고려할 때, 타임존 이슈를 어떻게 처리해야 할까?
      • Spring Data JPA - ID 생성 전략과 채번은 어떻게 되는걸까?
  • 회고
    • NHN Academy 인증과정 회고
    • DND 11기 회고
  • 독서
    • Effective Java 3/E
      • Item 1. 생성자 대신 정적 팩터리 메서드를 고려하라
      • Item 2. 생성자에 매개변수가 많다면 빌더를 고려하라
      • Item 3. private 생성자나 열거 타입으로 싱글턴임을 보증하라
    • 객체지향의 사실과 오해
      • 1장. 협력하는 객체들의 공동체
      • 2장. 이상한 나라의 객체
      • 3장. 타입과 추상화
      • 4장. 역할, 책임, 협력
      • 5장. 책임과 메시지
      • 6장. 객체 지도
      • 7장. 함께 모으기
  • Real MySQL 8.0
    • 04. 아키텍처
    • 05. 트랜잭션과 잠금
    • 08. 인덱스
    • 09. 옵티마이저와 힌트
  • 생각정리
    • 기술에 매몰되지 말자.
  • 공부
    • 객체지향 5원칙(SOLID)
      • SRP (Single Responsibility Principle)
      • OCP (Open Closed Principle)
Powered by GitBook
On this page
  • 무조건 정상적으로 응답을 할까?
  • Retry
  • 처리율 제한 장치

Was this helpful?

  1. 개발

외부 API 호출에 대한 고찰

PreviousMySQL은 어떻게 ID 값을 순차적으로 넣어주는 것일까? (Feat. Auto Increment Lock)NextHTTP Clients in Spring Boot

Last updated 4 months ago

Was this helpful?

프로젝트를 진행하면서 다양한 외부 API를 호출하게 된다.

  • 주문/결제 시스템에서의 토스페이먼츠 API

  • 미니 두레이 프로젝트에서의 Dooray Message Sender API

  • 이메일 인증 서비스

  • etc.

다양한 상황에서 외부 API를 호출하게 되는데 문득 이러한 상황에서 내가 무식하게 사용했던 것이 아닌지에 대한 의심이 들었다.

무조건 정상적으로 응답을 할까?

외부 API가 정상적으로 응답하지 않으면 어떻게 처리를 해야하는지에 대해 고려하지 못한 점이 가장 크다.

  • 호출을 했는데 무한 대기가 걸린다면?

  • 호출을 했는데 정상적으로 처리가 되지 않는다면?

다양한 이유로 어플리케이션의 문제가 발생할 수 있으며 이러한 문제는 큰 문제를 야기할 수 있다.

위의 블로그 글을 보고, 진행하고 있는 스부키 프로젝트에서 하나씩 개선해나가는 글을 작성해보고자 한다.


Retry

처리율 제한 장치

외부 API를 연동할 때 고려하면 좋은 점들TISTORY
Logo
GitHub - spring-projects/spring-retryGitHub
Spring Retry
system-design-study/04장/승조.md at main · JJJ-Study/system-design-studyGitHub
가상 면접 사례로 배우는 대규모 시스템 설계 기초 - 4장 처리율 제한 장치의 설계
Spring Boot에 Redis와 연동하여 처리율 제한 장치(Rate Limiter) 적용하기(Spring Boot + Redis + Bucket4j)TISTORY
Spring Boot + Redis 방식
Logo
Logo
Logo