목록 보기
Syrup 모바일 웹 속도 개선기: WebFlux, SSE, 그리고 Next.js
프론트엔드

Syrup 모바일 웹 속도 개선기: WebFlux, SSE, 그리고 Next.js

SK플래닛
SK플래닛
2023년 12월 12일

두줄요약

Syrup 모바일 웹의 응답 속도를 개선하기 위해 WebFlux, SSE, Next.js를 적용했습니다. 그 결과 API 요청과 응답 지연을 줄이고 초기 로딩 속도도 향상했습니다.

문제 상황

  • 오래된 Syrup 모바일 웹의 API 서버 레거시화로 웹 게이트웨이 응답 속도 저하
  • 외부 파트너 API 다수 호출 시 순차 처리와 일부 비동기 호출 모두 대기 시간과 타임아웃 부담 발생
  • 프론트엔드에서 개별 API 병렬 호출 시 중복 호출과 네트워크 비용 증가

원인 분석

  • 스프링 MVC 기반 CompletableFuture 사용 시 코드 복잡도와 스레드 풀 관리 부담
  • 블로킹 라이브러리와 스레드 기반 컨텍스트 사용이 WebFlux 환경과 충돌
  • SSR 적용 시 추가 서버 리소스와 운영 비용 부담

해결 방법

  • 웹 게이트웨이에 WebFlux와 SSE 적용으로 비동기 처리와 개별 응답 즉시 푸시 구성
  • 프론트엔드에 Next.js를 도입하되 SSG 중심으로 선택해 초기 로딩과 렌더링 속도 개선
  • Mono.zip, WebClient, ContextView, 비동기·논블로킹 라이브러리 활용

적용해볼 점

  • 외부 API 연동이 많은 서비스에서 논블로킹 리액티브 구조 검토
  • 실시간 응답 전달이 필요한 화면에 SSE 활용 검토
  • 렌더링 최적화가 필요할 때 Next.js의 SSG 우선 적용 검토

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...