inflearn logo
강의

Course

Instructor

Next + Create a SNS service with React Query

route handlers 에 대한 질문이 있습니다

Resolved

152

kraf

14 asked

0

안녕하세요, app router에 대해 계속 공부하다가 route handlers 에 대한 궁금증이 해결되지 않아 질문하게 됐습니다.

 

  1. Next app router에서 정확히 route handlers를 사용해야 하는 이유가 무엇인가요?

제가 생각했을 땐 서버 데이터 캐싱이나 API 엔드포인트를 숨길 수 있다는 장점이 있는데 이건 서버 컴포넌트에서 fetch하는 것으로도 대체가 되는데 route handlers를 사용해야 하는 특별한 이유가 따로 있는 것인가요?

 

  1. 모든 API를 route handlers로 하면 Next서버에 부하가 걸릴텐데 어떻게 해결할 수 있을까요?

     

이 부분은 공식문서에서 제가 못 찾은 것 같은데, 만약 외부 백엔드 API가 있고 여기에 데이터 요청을 할 때

클라이언트 컴포넌트에서의 모든 API 요청을 1차로 route handler에 하고 여기서 외부 백엔드 API로 요청하게되면 route handlers에 요청이 몰리게 되는데 이때 Next 서버에 걸리는 부하를 어떻게 해소할 수 있을까요?

react next.js react-query next-auth msw

Answer 2

0

zerocho

route handlers를 쓰면 간단한 웹 서버의 경우에는 백엔드 서버를 대체할 수도 있습니다. 그리고 BFF의 역할을 하여 백엔드 api를 route handlers에서 가공할 수도 있습니다.

next 서버에 부하가 걸리는 것은 next 서버도 오토스케일링을 해서 여러 인스턴스를 둔다든가 하면 됩니다. 백엔드 서버 관리법과 똑같습니다.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. kraf님.

route handlers에 대한 궁금증을 해결하셨으면 좋겠습니다. 주신 질문에 대해 답변드리겠습니다.

  1. Next.js의 Route Handlers 사용 이유:
    Route Handlers는 Next.js에서 API 엔드포인트를 쉽게 생성할 수 있게 도와줍니다. 서버 데이터 캐싱이나 API 엔드포인트를 숨기는 데 도움을 줄 수 있는 장점이 있습니다. 서버 컴포넌트만으로 데이터를 처리할 수도 있지만, Route Handlers를 사용하면 클라이언트-서버 간의 데이터 흐름을 보다 세밀하게 제어할 수 있습니다. 또한, 간단한 기능 구현 시 별도의 서버 설정 없이 Next.js만으로 작업할 수 있다는 장점이 있습니다.

  2. Next 서버 부하 관리:
    모든 API 요청을 Route Handlers로 처리할 경우, Next.js 서버에 부하가 걸릴 수 있습니다. 이를 해결하기 위해선 적절한 캐싱 전략을 사용하거나, 부하의 분배를 위한 로드 밸런서를 활용할 수 있습니다. 또한, 클라이언트에서 서버로의 직접적인 API 통신도 병행하여 사용하면 부하를 줄일 수 있습니다. 클라우드 서비스의 로드 밸런싱 기능을 활용하거나, Next.js의 기능 중 ISR(Incremental Static Regeneration)을 통해 정적 페이지로 일부 트래픽을 흡수하는 방법도 고려해 볼 수 있습니다.

관련 내용을 상세히 설명한 이전의 질문과 답변들이 있습니다. 유사한 궁금증을 해결하는 데 도움이 될 것입니다:

이 두 답변은 Route Handlers 사용 시의 효율적인 관리에 대해 더 깊이 있게 논의하고 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

캡처링부분 질문있습니다.

0

75

2

깃에 소스코드를 찾을 수 없습니다.

0

113

2

useInfiniteQuery promise와 react use 사용시 페이지 무한 로딩

0

98

1

import 파일 경로를 찾지 못 해서 에러가 발생합니다.

0

109

2

css 라이브러리 추천 부탁드립니다

0

140

2

팔로우 추천 목록이 빈 배열로 들어옵니다.

0

131

1

게시물 업로드 시 userId가 undefined로 들어가는 오류

0

119

1

useSuspenseQuery 사용 시 SSR 401 이슈 관련

0

172

1

리액트 쿼리 useinfinitequery 무한스크롤 구현 시 페이지가 이동할 경우 데이터가 보존되게 할 수 있나요??

0

184

3

폴링이 필요없는 이유

0

93

2

next Request Memoization과 react cache

0

110

2

seo 최적화 기준은 데이터 fetching인가요 아님 데이터 렌더링인가요?

0

84

2

next.js 서버fetch 에러 fallback ui 구현 방법

0

173

2

프레임워크 여론 파악법

0

125

2

필터옵션이 많은 페이지에서 서버 fetch를 하는게 맞는걸까요??

0

103

2

서버 fetch suspense 로 감싸고 새로고침 시 잠시 빈 화면이 노출된 후 fallback ui가 노출됩니다.

0

102

2

template.tsx 내 서버fetch 응답값과 클라이언트 컴포넌트 상태값 싱크가 맞지 않는 이슈

0

66

2

Auth.js 사용 시 authorize 함수가 호출되지 않습니다

0

132

2

next.js 에서 로그인에 관하여

0

138

1

Next의 route handler에 대한 질문이 있습니다.

0

101

2

게시판 리스트 만들때 use client를 어디서부터 집어넣어야할지 모르겠습니다

0

98

2

프라이빗 폴더를 해야 하는 이유가 모호한 것 같아요.

0

85

2

vanilla-extract 못찾는 문제

0

230

2

fetch 캐싱과 revalidate 관련

0

85

2