thdwoqor / stable-coin-checker

0 stars 0 forks source link

환율 정보 조회 기능을 개선한다. #3

Closed thdwoqor closed 4 months ago

thdwoqor commented 4 months ago

1차 장애

https://quotation-api-cdn.dunamu.com/v1/forex/recent?codes=FRX.KRWUSD

기존에는 두나무에서 사용하는 것으로 추정되는 비공식 환율 정보 조회 API를 사용했으나, 현재는 해당 API의 사용이 불가능해져 2024년 6월 25일에 기존 시스템에 장애가 발생했습니다.

시장 조사

필수 조건

[ ] 실시간 환율 조회 [ ] 무료

은행 공식 API 사용 (X)

[X] 실시간 환율 조회 가능 [ ] 무료

비공식 API 사용에 따른 문제를 인지하고, 공식적인 환율 조회 API 사용을 위해 하나은행의 환율 정보 조회 API 사용에 대해 문의했으나, 개인으로는 사용이 불가능하다는 답변을 받았습니다. 다른 은행들도 비슷한 정책을 가지고 있을 것으로 추측됩니다.

1. 개인도 환율정보조회 API를 이용할수있을까요?
→ 불가능 합니다. 가입시 기관등록을 진행하면서 사업자 등록번호 확인 및 사업자 등록번호 진위여부 확인을 진행하기 때문에..
   이용이 불가 합니다.
2. API 호출은 유료인가요?
→기본적으로 모든 api는 사용 건당 수수료 부과가 됩니다. 환율정보를 예를 들어 말씀드리면 당행 역시 기본 지표는 로이터에 비용을 
  납부하면서 사용중이고, 그 기본 정보에 실제 거래를 하면서 20전 이상 변동이 발생하였을 경우 수기로 조정하여 데이터를 정보 제공하는
  바, 무료로는 해당 정보 제공이 불가 합니다. 

한국수출입은행 환율 API 사용 (X)

[ ] 실시간 환율 조회 가능 [X] 무료

한국수출입은행에서 제공하는 환율 API는 공식적으로 제공되며 무료입니다. 그러나 데이터 포맷이 XML이고, 환율 정보가 하루에 한 번만 갱신된다는 단점이 있습니다.

개인이 제공하는 API 사용 (O)

[X] 실시간 환율 조회 가능 [X] 무료

https://api.manana.kr/exchange/rate.json?base=KRW&code=USD 개인이 야후에서 가져온 환율 정보를 API로 배포한 것으로 추정됩니다.

결과

필수 조건을 만족하는 manana 사용

thdwoqor commented 4 months ago

2차 장애

Manana에서 제공하는 환율 정보가 2024년 7월 2일 이후로 갱신되지 않는 문제가 발생했습니다. 요청 자체는 200 응답으로 정상 처리되지만, 최신 데이터로 갱신되지 않아 예외 처리가 필요했습니다.

시장 조사

Fault Tolerance(장애 허용) 기술 필요

현재 사용하는 API는 한 번 장애가 발생하면 오랜 시간 동안 장애가 지속됩니다. 따라서 Circuit Breaker를 활용하여 요청을 차단함으로써 불필요한 요청을 줄이고 응답 시간을 단축하는 것이 적절하다고 판단됩니다.

결과

Circuit Breaker(Resilience4j) 사용