본문 바로가기

Server

(6)
Tomcat ThreadPool Thread 컴퓨터가 실행이 되고, 소히 말하는 프로그램이 실행될때 그 실행 주체는 Process이다. 그러한, 프로세스내에의 실행흐름이라고 부르는 실행주체가 Thread이다. 또한, CPU core가 이 Thread를 물리적으로 실행시켜주는 실행주체이다. 그래서 한 프로그램 (프로세스)내에서 할수 있는것들이 많아져 Thread가 많아지면 좋지 않을까라는 생각을 할수 있다. 하지만, 그렇지만은 않다. Thread는 생성 비용이 많이 드는 작업이다. 1. Java는 One-to-One Threading-Model로 Thread를 생성한다. 2. User Thread(Process의 스레드) 생성시OS Thread(OS 레벨의 스레드) 와 연결해야 한다. 3. 새로운 Thread를 생성할 때마다 OS Ker..
Tomcat 톰캣의 역할 1. Servlet Container : Servlet에 대한 관리를 수행한다. Spring Boot의 Front-Controller인 Dispatcher Servlet도 여기에 포함된다. 2. Web server와 통신을 위한 소켓을 만드는 역할을 수행한다. 사용자의 Request를 받기 위해 WebServer로부터 해당값을 전달받아야 하는데 이때 Socket을 만들어 통신하는 역할을 수행한다. (Apache tomcat 5.5 이후 부터는 위에서 언급한대로 Web server의 기능인 httpd(웹서비스 데몬) native 모듈을 가지고와서 정적파일을 처리하기 때문에 별도의 Web server 기능에 뒤쳐지지 않는 정적파일 처리를 할 수 있습니다.) 3. 클라이언트로부터 request를 ..
HTTP 상태코드 100 - 199 : 정보성 상태 코드 정보성 상태 코드는 HTTP/1.1 에서 도입되어 비교적 새로운 것이며, 복잡함을 감수할 만큼 가치가 있는지에 대해 논란이 되고 있다. 100 : 요청의 시작 부분 일부가 받아들여졌으며, 클라이언트는 나머지를 계속 이어서 보내야 함을 의미함 101 : 요청자가 서버에 프로토콜 전환을 요청했으며, 서버에서 이를 승인하는 중을 의미함 200 - 299 : 성공 상태 코드 클라이언트가 요청을 보내면, 요청은 대게 성공함. 서버는 대응하는 성공을 의미하는 각각의 요청에 대응한다. 200 : 요청은 정상이고, 본문은 요청된 리소스를 포함하고 있다. 201 : 어떠한 생성 작업을 요청받았으며, 생성 작업을 성공하였다. 202 : 요청은 받아들여졌으나, 아직 동작을 수행하지 않..
Java EE와 Servlet/JSP의 관계와 WAS 개념 정리 Java EE와 Servelet/JSP Java EE는 Java Enterprise Edition을 의미하며 Servlet, JSP(Java Server Page)는 Java EE에 포함된 하위 기술들이다. 이 외에도 Java EE에는 기업용 어플리케이션과 클라우드 어플리케이션 개발에 필요한 여러가지 복합적인 기술들이 정의되고 모아져있다. www.oracle.com에서 Java EE 버전 별 기술 사양 버전을 확인할 수 있다. Java EE 7 Technologies 위 그림은 Oracle에서 확인할 수 있는 Java EE 7의 기술 사양 버전이다. Java EE 7의 Servlet 버전은 3.1, JSP 버전은 2.3이다. Java EE가 업그레이드 될 때 마다 하위 기술들도 함께 업그레이드되며 버전이..
분산 시스템 분산 시스템의 소개 시스템 환경 변화 미들웨어의 종류 Overview of JEUS 5 JEUS 개요 JEUS 소개 : JEUS => Java Enterprise User Solution JEUS 특장점 대규모 부하처리 Web서버 지원 성능 및 안정성 보장 가력한 아키택처 분산환경에서 트랜잭션 보장 강력한 관리 기능 JEUS Servlet Engine Load Balancing & Fail-Over 서버의 부하 상태를 체크하여 Dynamic Balancing 동일 Node 내 Engine Fail 시 자제 복구(Auto Restarting) Multi-Node 환경 하에서, 한 Node Fail 시 Backup 노드에서 복구 다양한 세션 클러스터링 별도의 세션 서버를 이용한 방식과 Web Containe..
Was란 무엇인가 WAS는 웹 프로그램(혹은 웹 시스템, 웹 사이트, 웹 서비스 등)을 실행할 수 있는 기초적인 환경을 제공 종류로는 WebLogic, WebShpere, tomcat, Jeus, JBoss 등이 있다. Web Application ? 웹을 기반으로 실행되는 프로그램을 의미. 웹브라우저 1.요청 ↓ 웹서버 2.처리를 요청 ↓ 웹어플리케이션서버 3.처리를 수행 ↓ DB 4.처리를 수행 ↓ 웹어플리케이션 5.서버(처리결과 웹서버로 돌려보낸다) ↓ 웹서버 5.응답 ↓ 웹 브라우저 Web Server 대표적으로 Apache, WebtoB 등이 있다. 웹서버는 말그래도 작성된 html페이지 등을 네트워크망에 종속되지 않고, 웹서비스를 할 수 있도록 어플리케이션이라고 생각하면 간단하다. HTTP를 통해 웹 브라우저에..