AI 기반 당뇨 예측 앱을 위한 확장형 백엔드 설계

AI 기반 당뇨 예측 앱을 위한 확장형 백엔드 설계

초록

본 논문은 모바일 당뇨병 예측 애플리케이션을 위한 확장 가능한 백엔드 시스템을 구현·평가한다. 목표는 오류율 5% 이하, 평균 응답 지연 1000 ms 미만을 유지하는 것이며, 이를 위해 수평 확장, 데이터베이스 샤딩, RabbitMQ 기반 비동기 메시징을 적용하였다. 24개 기능 중 20개(83%)가 성능 목표를 달성했으며, 동시 사용자 10 000명을 안정적으로 지원함을 실험을 통해 입증하였다.

상세 분석

본 연구는 AI 기반 당뇨 예측 서비스가 급증하는 사용자 요구에 대응하기 위해 백엔드 인프라를 어떻게 설계하고 최적화할 수 있는지를 실증적으로 보여준다. 첫째, 수평 확장을 위해 컨테이너 오케스트레이션(Kubernetes)과 자동 스케일링 정책을 도입했으며, 이는 트래픽 급증 시 서비스 인스턴스를 빠르게 추가·제거함으로써 CPU·메모리 포화 상태를 방지한다. 둘째, 데이터베이스 샤딩 전략은 사용자 프로필, 활동 로그, 예측 결과 등 서로 다른 워크로드를 별도 파티션에 분산시켜 읽기·쓰기 병목을 최소화한다. 특히, 예측 요청은 읽기 중심이며, 샤드 키를 사용자 ID로 설정해 동일 사용자에 대한 연속 요청이 동일 샤드에 머물게 함으로써 캐시 적중률을 높였다. 셋째, RabbitMQ를 활용한 비동기 메시징은 CPU 집약적인 AI 모델 추론을 워커 풀에 분산시키고, 요청이 폭주할 경우 큐에 적재해 손실 없이 순차 처리하도록 설계되었다. 이 과정에서 메시지 재시도와 데드레터 큐를 활용해 오류 복구 메커니즘을 강화하였다.

성능 평가 결과, 전체 24개 기능 중 20개가 평균 지연 1000 ms 이하와 오류율 5% 미만을 만족했으며, 특히 사용자 프로필 관리·활동 트래킹·예측 조회와 같은 읽기‑집중 서비스가 목표를 초과 달성했다. 반면, 대용량 배치 학습 및 관리 콘솔 업데이트와 같은 쓰기‑집중 작업은 일부 지연 초과와 오류 발생이 관찰되었다. 이는 샤드 간 데이터 동기화와 워커 풀 포화가 원인으로 추정된다.

또한, 동시 10 000명 사용자 시뮬레이션에서 시스템은 CPU 사용률 68%, 메모리 사용률 55% 수준을 유지했으며, 네트워크 I/O와 디스크 I/O도 안정적인 범위 내에 머물렀다. 이는 설계된 수평 확장 및 비동기 처리 메커니즘이 대규모 트래픽을 효과적으로 흡수함을 의미한다.

한계점으로는 샤드 재배치 시 데이터 이동 비용, RabbitMQ 큐 길이 증가에 따른 메모리 압박, 그리고 AI 모델 버전 관리가 충분히 다루어지지 않은 점을 들 수 있다. 향후 연구에서는 자동 샤드 리밸런싱, 스트리밍 기반 실시간 예측, 그리고 서비스 메쉬를 통한 트래픽 관리 등을 도입해 시스템 복원력과 운영 효율성을 더욱 강화할 필요가 있다.