반응형

FastAPI, 호출할 때마다 응답이 변한다?

 

글. 수알치 오상문

 

FastAPI 서버에 API를 호출하여 값을 요청할 때 응답 값이 오락가락(일정하지 않음)하는 경우가 발생할 수 있다.

예를 들어, 실행 중에 어떤 데이터를 캐싱하여 저장하고 그 캐싱한 값을 돌려준다고 하자.

그런데... API를 호출할 때 어떤 경우에는 캐싱 값이 오는데, 어떤 경우에는 오지 않을 수 있다.

 

이런 경우에는 워커를 여러 개 사용하고 있어서 멀티프로세싱으로 동작하고 있는지 확인해야 한다. 

 

워커1: 캐싱 데이터 보유  <-- 이 놈이 호출되면 캐싱 데이터를 응답해준다.

워커2: 캐싱 데이터 없음  <-- 이 놈은 캐싱 데이터를 공유하지 못해서... 응답 값이 달라진다.

워커3: 캐싱 데이터 없음

 

[해결 방법] 공유 데이터를 쓰는 구조로 바꿔야 한다. 

그냥 디비에서 조회하여 사용하거나, Redis 서버 등을 이용하여 데이터를 공유하는 방식이다.

 

 

반응형

+ Recent posts