묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
web server와 was의 다운 비율이 보통 어떻게 되나요?
어떤 개발이냐에 따라 다르겠지만, 평균적으로 일반적인 웹 시스템을 가정한다고 했을 때, web server와 was의 다운 비율이 대략적으로 어느정도 되나요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
Http 강의 질문입니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요 영한님 Http 강의를 듣다가 웹 서버 구조에 대해 궁금한 점이 생겨서 질문 올립니다.수업중에 정적페이지는 Web server를 통해 클라이언트와 통신을 하고, 동적페이지는 WAS를 통해 통신을 한다고 배웠습니다.제가 강의자료와 인터넷을 보며 헷갈리는 부분은 WAS 안에 Web server가 포함 된건지 Web server와 WAS 가 구분 된건지 궁금합니다.아래는 제가 생각한 구조에 대한 이미지 입니다. 참고 부탁드립니다!감사합니다.1번2번
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
서블릿 컨테이너 / WAS 차이
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.다른 분들이 질문하셨던 내용이지만 아직도 이해가 잘 되지 않아 잘문드립니다제가 알기로는 was, 웹 애플리케이션 서버는 웹 서버 + 서블릿 컨테이너로 구성되어 있다고 알고 있습니다.또, 한편으로는 톰캣처럼 서블릿을 지원하는 was를 서블릿 컨테이너라고 알고 있습니다.그렇다면 결국 was와 서블릿 컨테이너의 의미가 중복되는 것 아닌가요?was는 웹 서버와 서블릿 컨테이너로 구성되어 있고, 이 중 서블릿 컨테이너는 또 서블릿을 지원하는 was라는 건가? 싶어서 질문드립니다.그리고 영한 님이 주신 자료에서는 웹 애플리케이션 구성이 웹 애플리케이션 서버와 서블릿 컨테이너로 나뉘어 있는데, 아래쪽 웹 애플리케이션 서버를 웹 서버로 수정하여 인식하면 될까요?마지막으로 전체적인 흐름을 본다고 할 때1) 사용자가 localhost:8080/hello 호출2) 서블릿 컨테이너에서 request, response 객체를 만들어줌 (그림에는 아래쪽 웹 애플리케이션 서버에서 만들어지는데, 웹 애플리케이션 서버를 웹 서버로 고친다면 웹 서버에서 만들어지는 건가요..?)3) 서블릿 컨테이너 안에 있는 쓰레드가 request, response를 인자로 하여 서블릿 객체 호출4) request 객체를 이용해 로직 수행5) 응답 결과를 response에 담고 서블릿 컨테이너에 전달6) 서블릿 컨테이너가 응답 메시지 생성 후 클라이언트에게 전달이 흐름으로 이해하면 될 지 궁금합니다..😭
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
SEQUENCE와 WS,WAS의 동시성 해결 관련 질문
안녕하세요? 강의의 기본 값 매핑 부분에서 GeneratedValue에 대해 수강 중에 질문이 생겼습니다. 1. sequence 전략을 사용하게 되면 미리 값을 증가 값 만큼 땡겨서 사용한다고 배웠는데요, 동시성 문제가 일어나지 않을 수 있는 이유는 여러 웹서버가 동시에 호출 하면 증가 값 만큼 가져올때 서로 다른 범위가 할당 되기 때문이라고 이해했습니다. 예로 두 대의 서버가 동시에 요청하고 증가값이 50이라면 A는 1~50 B는 51~100 범위를 할당 받는 거죠. 마치 pk 버퍼라고 할까요? 그리고 웹 서버가 중단 될 경우. 즉, A를 중간에 내려버리면 25까지 썻다고 하면 26~50은 사용 불가라고 이해했습니다.. 이때 db 관련 값은 WAS에서 처리하니깐 WAS에 값을 저장하는게 더 좋아 보이는데요. WS에 저장하는 이유가 있을까요? 그러니깐 코드는 하나고 하나의 코드를 여러대의 서버에서 사용하는데 서버 당 WAS가 하나씩 연결 되어 있고 디비에서 sequnce 땡겨오는 건 WAS가 하고 값 저장은 WS가 하는 식으로 둘이 같이 협력하는 방식인건가요? 2. 뿐만 아니라, sequnce 값을 맨 처음이거나 시작 값+allocationSize을 넘어서면 두 번의 조회 쿼리를 통해 시작값과 상한값을 알게 되는데 이때 동시성 문제가 생길 수 있지 않나요? 예를 들자면! allocationSize가 50이라고 할때 A가 들가서 첫 조회 쿼리로 1받고 다음 조회 쿼리로 상한인 50을 받기 직전에 B가 들가서 첫 조회 쿼리로 51을 받고 두 번째 조회 쿼리로 상한인 100을 받았는데 이때 A의 두번째 조회 쿼리가 날라가서 100을 받아버리면 A는 1~100을 사용하게 되는 문제가 생길 거 같은데, 차라리 두 번의 조회 쿼리보다 한번의 조회 쿼리 이후에 db에서 설정한 allocationSize를 보고 자신의 상한을 아는 것이 더 좋을 거 같지 않나요? 3. 추가적으로 WS와 WAS는 1대1 관계인가요? N:M 관계는 될 수 없는 걸까요? 좋은 하루 보내세요!
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
서블릿 컨테이너, was가 헷갈립니다.
안녕하세요 강의 잘 듣고 있습니다. 그런데 WAS,서블릿 컨테이너, 서블릿 객체가 헷갈려서 질문드립니다. 강의 중, 서블릿 컨테이너는 톰캣처럼 서블릿을 지원하는 WAS라고 하셨습니다. 더불어, 다른 학생의 질문에 대한 영한님의 답변 중 "request 객체를 만들어서 서블릿에 넘겨주는 것은 서블릿 컨테이너의 역할입니다. response도 마찬가지로 서블릿 컨테이너가 합니다. 그리고 서블릿 컨테이너가 서블릿을 호출해주는 것이지요." 라고 하셨습니다. 그런데 그림에서는 request,response 객체를 생성하고 서블릿 객체를 호출하는 "웹 애플리케이션 서버(WAS)"와 서블릿 객체를 생성하고 관리하는 "서블릿 컨테이너"로 나뉘어져 있네요. 그림에서 "WAS"와 "서블릿 컨테이너"가 사실 같은 큰 서블릿 컨테이너인데 역할에 따라 구분해놓으신건가요??
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
express는 WAS(Web Application Server) 인가요?
안녕하세요? Spring에서 NestJS로 전향하기 위해서 강의를 열심히 듣고 있습니다. nodejs나 nestjs를 공부하면서 express가 WAS인가 하는 궁금증이 들었습니다. Node.js는 Javascript의 런타임 이고, express라는 웹 프로엠워크 이용하여 Web Application 구동해준다 라고 생각을 합니다만 express를 was라고 생각해도 맞는 걸까요 ?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
WAS와 웹 서버 관련 질문드립니다.
안녕하세요 강사님 스프링 웹 MVC 공부하다가 궁금한게 생겨 문의드립니다. 보통 톰캣을 설치하면 별도 웹 서버 설치없이 바로 WAS를 사용할 수 있는데 톰캣안에 apache 웹 서버가 별도로 내장되어 있는 것인지 아니면 PDF에 나와 있는것처럼 서블릿 컨테이너가 웹 서버의 역할도 겸해서 별도의 웹 서버 설치가 필요없는 것인지 궁금합니다. 도커를 공부하면서 IIS나 apache 웹 서버를 따로 설치했던 기억이 있는데 문득 톰캣을 설치하면 웹 서버를 따로 설치했던 적이 없는 데도 구동이 잘 됐던 것 같아 질문드립니다. 웹 서버없이 바로 웹 브라우저에서 서블릿 컨테이너로 요청이 가지는 않을 것 같은데 톰캣을 설치했을 경우 중간의 웹 서버가 어디에 있는지 궁금해 질문드립니다. 항상 좋은 강의 감사드립니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
안녕하세요! 질문이 있습니다.
안녕하세요! 좋은 강의 감사드립니다 :) 강의를 보면서 궁금한 사항이 생겨 질문드립니다. 쓰레드 풀에 할당된 모든 쓰레드가 사용중인 상황에서, client로부터 굉장히 많은 요청을 받게 된다면, WAS내에서 즉, 메모리상에 client의 요청을 순차적으로 관리하여 처리하는 가령, 큐같은 자료구조가 필요할 것이라는 생각이 드는데요. 만약 이 생각이 맞다면, client로의 요청이 많아질 수록 해당 큐는 점점 커질 것이고, 서버가 감당할 수 있는 메모리 임계치를 넘어가 서버가 죽어버리는 현상이 발생할 우려가 있을 것이라고 생각되는데요. 제 생각이 맞는 것인지, 그리고 실무에서도 이러한 상황을 고려하여 서버를 구축하는 것인지가 궁금합니다!