스프링 컨테이너와 서블릿 컨테이어는 다른 목적으로 사용된다.스프링 컨테이너 : 애플리케이션의 비즈니스 로직을 관리하고, 객체의 생명주기와 의존성 관리를 담당한다.서블릿 컨테이너 : 웹 요청과 응답(HTTP 프로토콜)을 처리하는 데 집중한다.스프링 컨테이너는 IoC(Inversion of Control, 제어의 역전)을 기반으로 애플리케이션의 객체를 관리한다. IoC란 프로그램을 개발자가 아닌 프레임워크에 의해 관리되는 것을 의미한다. 서블릿 컨테이너는 웹 서버와 통신을 하여 HTTP 요청을 받고, 서블릿을 사용하여 요청을 처리한 응답을 클라이언트로 전송한다. 1. 스프링 컨테이너스프링 컨테이너는 애플리케이션을 실행시키기 위해 객체(빈) 생성, 초기화, 의존성 주입 등을 담당한다. 이는 개발자가 쉽게 객체..
웹 컨테이너란?웹 컨테이너는 서블릿과 JSP 등 웹 애플리케이션을 실행시키기 위한 환경을 제공한다. HTTP 요청을 처리하기 위한 기능을 제공하고, 대표적인 웹 컨테이너로 Apache Tomcat, Jetty, GlassFish 등이 있다.역할서블릿 생명 주기서블릿 생성, 초기화, 요청 처리, 소멸클라이언트 요청 및 응답 처리HTTP 요청을 서블릿으로 전달하고, 서블릿으로부터 응답을 전달받아 클라이언트로 전달한다. 1. Servlet Filter클라이언트의 요청이 Dispatcher Servlet으로 전달되기 전, url 패턴에 맞는 요청을 먼저 받아 처리한다.사진에서 알 수 있듯이 Servlet Filter는 Spring 영역에 존재하는 것이 아니다. 서블릿 필터를 사용하기 위해서는 아래의 Filter..
스프링 컨테이너와 서블릿 컨테이어는 다른 목적으로 사용된다.스프링 컨테이너 : 애플리케이션의 비즈니스 로직을 관리하고, 객체의 생명주기와 의존성 관리를 담당서블릿 컨테이너 : 웹 요청과 응답(HTTP 프로토콜)을 처리하는 데 집중스프링 컨테이너는 IoC(Inversion of Control, 제어의 역전)을 기반으로 애플리케이션의 객체를 관리한다. IoC란 프로그램을 개발자가 아닌 프레임워크에 의해 관리되는 것을 의미한다.서블릿 컨테이너는 웹 서버와 통신을 하여 HTTP 요청을 받고, 서블릿을 사용하여 요청을 처리한 응답을 클라이언트로 전송한다. 스프링 컨테이너스프링 컨테이너는 애플리케이션을 실행시키기 위해 객체(빈) 생성, 초기화, 의존성 주입 등을 담당한다. 이는 개발자가 쉽게 객체 간의 의존성을 관..
Statelss 한 도커 컨테이너 도커 컨테이너는 상태를 저장하지 않는 Stateless 특징을 갖습니다. A 이미지로 컨테이너를 실행하다가 삭제하고 다시 컨테이너를 생성하면 이전의 변경사항이 모두 삭제됩니다. 왜냐하면 읽기 전용인 이미지를 컨테이너로 생성하면 R/W 컨테이너 레이어가 생성됩니다. 해당 컨테이너에서 변경사항은 R/W 컨테이너 레이어 위에 추가되기 때문에 컨테이너를 삭제할 시에 변경사항이 모두 삭제됩니다. 예를 들어 Nginx 이미지로 컨테이너를 실행하고, 해당 컨테이너에서 변경사항이 발생하였습니다. 컨테이너에서의 변경사항을 기존의 이미지에 변경사항을 적용하게 된다면 해당 이미지를 사용하는 모든 컨테이너에 변경사항을 적용해야 합니다. 이러한 방식은 stateful 한 방식으로 여러 개의 ..
네트워크 기본을 기반으로 도커에서의 네트워크를 알아보겠습니다. Docker에서는 가상 네트워크 개념을 사용합니다. 가상 네트워크란 논리적으로 구성된 네트워크로, 하나의 물리적 네트워크 인터페이스를 기반으로 여러 개의 가상 네트워크를 생성할 수 있습니다. 가상 네트워크는 VLAN(Virtual LAN)과 같은 개념으로 사용될 수 있습니다. 도커도 가상 네트워크 개념을 사용합니다. 공인망으로부터 분리된 사설망 네트워크가 만들어지고, 사설망 내부에는 가상의 네트워크가 존재합니다. 네트워크 브릿지 위 사진을 보면 가상 네트워크 내부에 네트워크 브릿지가 존재합니다. 네트워크 브릿지란 도커 컨테이너 환경에서 네트워크를 관리하기 위한 기능입니다. 호스트와 컨테이너 간의 통신을 가능하게 하며, 컨테이너 간의 통신 또..