Spring/Spring MVC 43

동시 요청 - Multi Thread

Thread가 호출해준다. 요청 1번이 먼저 처리되는데 처리가 지연이 된다면?? 요청 시 마다 쓰레드를 생성하게되면 다른 쓰레드에서 처리가 지연되는 문제가 발생하더라도 새로 생성한 쓰레드를 통해 다른 요청을 처리할 수 있게 된다. 쓰레드를 생성할 때 CPU도 많이 사용하기 때문에 응답 속도가 늦어짐 이러한 단점들을 해결하기 위해 대부분의 WAS들은 쓰레드 풀을 이용한다. 요청이 들어오면 쓰레드 풀에게 대기 중인 쓰레드를 요청한다.(풀 안에 미리 쓰레드를 생성해둠) 쓰레드 사용이 끝나면 다시 쓰레드 풀에게 반납한다. 쓰레드 풀에 있는 모든 쓰레드가 사용 중이면 요청을 대기시키거나, 거절한다. nGrinder ==> 네이버에서 성능측정을 목적으로 오픈소스로 만든 툴 서버 튜닝에 대한 부분은 백엔드 개발자에게..

Spring/Spring MVC 2021.04.02

Servlet

서블릿(servlet)은 서버에서 웹페이지 등을 동적으로 생성하거나 데이터 처리를 수행하기 위해 자바로 작성된 프로그램이다. servlet은 Java코드 안에 HTML태그가 삽입되며 자바언어로 되어있다. 더보기 GET HTTP/1.1 스펙인 RFC2616의 Section9.3에 따르면 GET은 서버로부터 정보를 조회하기 위해 설계된 메소드입니다. GET은 요청을 전송할 때 필요한 데이터를 Body에 담지 않고, 쿼리스트링을 통해 전송합니다. URL의 끝에 ?와 함께 이름과 값으로 쌍을 이루는 요청 파라미터를 쿼리스트링이라고 부릅니다. 만약, 요청 파라미터가 여러 개이면 &로 연결합니다. 쿼리스트링을 사용하게 되면 URL에 조회 조건을 표시하기 때문에 특정 페이지를 링크하거나 북마크할 수 있습니다. 쿼리스..

Spring/Spring MVC 2021.04.01

Web Server / Web Application Server

웹 브라우져에서 URL을 입력하면 인터넷을 통해 서버에 접근하고 서버 보낸 응답을 웹 브라우져가 화면을 띄워준다. 정적 리소스는 그냥 정적 파일과 같은 의미로 이해하면 된다. 요청이 들어왔을 때 이미 만들어져있는 리소스를 그대로 응답해주는 것. 프로그래밍을 할 수 있기 때문에 사용자에 따라서 다른 화면을 보여준다던가하는 동적인 기능을 수행할 수 있다. 단순히 이미지, HTML, CSS, JS파일을 가져오기만 하면 되는 정적 리소스때문에 애플리케이션 로직이 영향을 받아선 안된다. 앞선 WAS에 많은 부하가 걸리는 문제점으로 인해 위와 같은 대체로 위와 같이 웹을 구성한다. Web Server를 앞에두어 정적리소스에 관련된 처리를 하고, 동적이 로직이 필요하다면 WAS가 처리 어떤 것이 많이 사용되는지에 따..

Spring/Spring MVC 2021.04.01
반응형