전체 글6 Tomcat 기동 순서 톰캣 구동 톰캣서버 구동 server.xml 확인 웹 애플리케이션을 Context로 인식 서비스해줘야할 프로젝트를 확인 프로젝트의 web.xml 확인 실행시켜야할 프로젝트의 환경을 설정 서블릿이나 세션 등 Tomcat Server가 요청을 받으면, Catalina (Tomcat Engine)가 요청에 맞는 Context (Context path)를 찾고, Context는 자신이 설정된 어플리케이션의 deployment descriptor file (web.xml)을 기반으로 전달받은 요청을 서블릿에게 전달하여 처리되도록 합니다. 톰캣의 동작원리 Http Request를 Servlet Container에 전송 Servlet Container는 HttpServletRequest, HttpServletResp.. 2021. 11. 12. NginX의 강점 (apache와 비교) NginX apache 의 C10K 문제점 해결을 위해 만들어진 Event-driven 구조의 비동기 처리를 통한 웹서버 소프트웨어 → 일만개의 클라이언트 문제: 다수의 클라이언트를 동시에 처리할 수 있는가에 대한 의문 → 고정된 프로세스만 생성하고, 그 내부에서 비동기로 효율적인 방식으로 task 를 처리 → 동시접속자 수가 많아져도 추가적인 생성비용이 들지 않습니다. Apache는? 클라이언트 접속마다 Process 혹은 Thread 를 생성하는 구조 MPM 방식으로 HTTP요청을 처리(다중 프로세스/ 멀티 프로세스-스레드) NginX에 비해 모듈이 다양해 안정성, 확장성, 호환성의 장점이 있다. NginX의 장점(=성능) CPU 소모가 적다 (동기 이벤트 기반으로 요청하여 적은양의 스레드가 사용되기.. 2021. 11. 12. Redis 개념 (레디스) 래디스(Redis) Redis는 오픈소스인 키-값(key-value)기반의 인-메모리 데이터 저장소 쿼리가 필요없고 메모리에서 데이터처리하기(DB는 디스크에 데이터를 씀) 때문에 속도가 빠름 Single Thread이기 때문에 원자성(atomic)을 보장하여 Race condition에 빠지는 것을 방지 다양한 데이터 구조(Collection) 제공 (Strings, Lists, Sets, Sorted Sets, Hashes)_다양한 용도로 사용가능 사용처: Remote Data Store(여러 서버의 Data공유를 위해), 인증 토큰 저장 , Ranking Board에 주로 사용. 캐시(Cache) Cache란 나중에 요청할 결과를 미리 저장해둔 후 빠르게 서비스 해주는 것을 의미 cache hit :.. 2021. 11. 12. 깃과 깃허브(git & github) git: 분산 버전 관리 시스템(변경사항에 대한) github: git을 사용하기위한 클라우드 저장소 로컬 저장소 생성 로컬저장소는 git init 한 폴더 .git 폴더가 생성됨(숨겨진 폴더 2021. 11. 12. 이전 1 2 다음