작성
·
65
0
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)
[질문 내용]
로드맵을 다 돌고 이 강의를 다시 듣고있는데 웹 시스템 구성은 web, was, db로 하는것이 좋다는 말이 귀에 들어왔습니다.
강의를 따라하면서 프로젝트를 따라할 때 spring boot 안에 내장되어있는 tomcat을 쓰고있는 것으로 아는데 저희는 따로 web과 was를 따로 분리해서 작업하고 있는게 아닌가요? 만약 따로 분리를 한다면 어떻게 하는것이 따로 하는것이라고 생각할 수 있을까요?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 낢삶님.
웹 시스템을 구성할 때 Web 서버와 WAS(Web Application Server)를 분리하는 것은 확장성과 보안 면에서 유리하다는 이유로 종종 권장됩니다. 스프링 부트의 내장 톰캣은 웹 서버와 WAS의 역할을 함께 수행할 수 있도록 구성되어 있지만, 대규모 시스템이나 비즈니스 요구 사항에 따라 웹 서버와 WAS를 분리해 운영하기도 합니다.
웹 서버: HTTP 요청을 처리하고 정적 콘텐츠(HTML, CSS, JavaScript, 이미지 등)를 제공하는 역할을 수행합니다. 보안 요청 관리, 부하 분산 등의 역할도 포함할 수 있습니다.
WAS(웹 애플리케이션 서버): 동적 콘텐츠를 생성하기 위해 비즈니스 로직을 처리하는 역할을 수행합니다. 데이터베이스와의 상호작용, 세션 관리 등 동적 요청을 처리합니다.
프록시 서버 사용: Nginx나 Apache와 같은 웹 서버를 프록시 서버로 설정하여, 프론트엔드 요청을 해당 애플리케이션 서버(WAS)로 라우팅합니다. 예를 들어, 사용자의 요청이 웹 서버(Nginx)를 통해 들어오면 비즈니스 로직 처리를 위해 WAS(Spring Boot)를 호출하는 식입니다.
Consul 등의 서비스 검색 툴 사용: 마이크로 서비스 아키텍처와 같이 여러 개의 WAS를 관리하는 환경에서는 서비스 검색 및 라우팅 도구를 사용해 WAS를 분리하고 관리할 수 있습니다.
위 방법을 통해 여러분은 웹 서버와 WAS를 효과적으로 분리하여 관리할 수 있습니다. 이 개념은 특히 대형 시스템에서 트래픽 분산, 보안, 확장성을 향상시키기 위해 사용됩니다.
관련해서 아래 링크를 참고하시면 WAS와 웹 서버의 분리에 대한 이해가 더 깊어질 것입니다.
제가 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.