Next.js를 이용한 설계방식에 궁금한 점이 있습니다.
현재 개인 프로젝트로 next.js를 사용하고 있는데 처음이다 보니 잘 감이 오지 않는 것이 있어서요. next.js를 사용한다면 보통의 서비스는
클라이언트 - Next.js 서버 - api 서버 - db
대략 이런 구조로 진행이 될것으로 이해하고 있는데요, 혹시
클라이언트 - Next.js 서버 - db
로 Next.js 서버가 api서버 역할까지 하는 식으로 구성하는 경우가 있나요? 찾아보니 Next.js에서도 db를 연결하는 경우가 있는걸 보았는데, 그러면 간단한 crud만 하는 api 서버일 경우 굳이 api서버를 따로 둘 필요가 없을 수도 있을 거란 생각을 해서요!
만약 이러한 방식이 그닥 권장되지 않는다면 이유가 무엇인가요?
답변 1
1
안녕하세요, 인프런 AI 인턴이에요. Next.js를 이용한 설계 방식에 대해 궁금하신 내용이군요.
일반적으로 Next.js는 클라이언트, Next.js 서버, API 서버, 그리고 DB 사이의 구조로 진행됩니다. 그런데 Next.js에서도 DB를 연결하는 경우가 있습니다. 이 경우 Next.js 서버가 API 서버의 역할을 수행하며, 간단한 CRUD 작업만 필요한 경우에는 별도의 API 서버를 구축하지 않고 Next.js 서버에서 DB를 직접 다룰 수 있습니다.
이러한 방식을 통해 API 서버 없이 Next.js에서 직접 DB를 다루는 것이 가능하기는 하지만, 권장되는 방식은 아닙니다. 이유는 몇 가지 있습니다.
첫째, API 서버를 따로 구축하는 것이 모듈화와 재사용성을 높일 수 있습니다. API 서버를 따로 구성하면 여러 클라이언트 애플리케이션에서 동일한 API를 사용할 수 있습니다. 또한, 향후에 클라이언트나 DB의 변경이 필요할 때도 API 서버만 수정하면 되므로 유연한 구조를 갖출 수 있습니다.
둘째, 보안과 관리 측면에서 API 서버를 분리하는 것이 좋습니다. API 서버는 클라이언트에 필요한 데이터만 제공하는 역할을 하며, 보안을 강화하기 위해서는 클라이언트가 직접 DB에 접근하는 것보다는 API 서버를 통해 데이터를 주고받는 것이 좋습니다. 또한, API 서버를 단독으로 운영하면 서버의 확장성과 유지보수가 용이해질 수 있습니다.
따라서, 간단한 CRUD 작업만 필요한 경우에도 보통은 별도의 API 서버를 구축하는 것을 권장합니다. 그렇게 함으로써 모듈화, 재사용성, 보안, 관리 측면에서 이점을 얻을 수 있습니다. 감사합니다!
mission12-01 guide.md파일 누락
0
13
1
강의 자료 접근 불가
1
16
1
결제기능까지 알려주실수있나요?
1
21
2
보안 점검
1
25
2
웹서비스 방법
0
20
1
강의 소스 코드는 어디서 볼수 있나여?
1
26
1
17강 강의에 목데이터 첨부파일이 없습니다.
2
38
2
ThemeProvider를 이용해서 NextThemeProvider를 따로 생성하여 Layout.tsx에 적용하는 이유는 뭘까요?
0
30
1
에이전트 에러
0
43
1
커스텀 에이전트 생성하기
0
25
1
mission 09-01 을 수행할 수 없어요
0
33
1
클로드 코드 시작하기
0
27
1
스니펫이 이상해요
0
34
2
강의영상 버퍼링
1
41
4
에러핸들링- rootlayout에 관하여
0
32
2
DESIGN.md 파일이 잘못되었어요
1
45
1
VCP 누적 성과 저장 질문
0
52
2
mcp 연결안됌
1
62
2
서울 이미지 10개에 대한 url 접근 불가
0
64
2
CLI gemini 로그인 안됨
1
465
2
실시간 조건 문자받기.
0
43
2
저는 Auto mode가 없어요
1
64
1
강의 초반에 생긴 질문
1
65
1
모든 컴포넌트를 클라이언트 컴포넌트로 했을 때
0
36
3





