아파치(정적 데이터) - HTML, Img
톰켓(동적 데이터) - JSP을 Servlet 바꿔줌
ISS는 두개로 나누지 않음
Com+로 작동하게 됨 Com+를 사용하게 되면 스테틱처럼 항상 메모리를 잡고 동작하게 된다
Com+가 주로 하는 일은 DB커넥션풀, 로드벨런싱, 멀티쓰레딩, 보안(사용자 확인(OS Id))
보통 아파치 톰켓을쓰게 되면 운영은 아파치와 톰켓을 분리하여서 사용(물리적) 아파치는 단순 데이터기 때문에 속도가 빠르다. 우선 사용자에게 빠르게 UI단을 보여주고 톰켓에서 가공 데이터를 가져와 뿌려줌. 이렇게 나누는 이유는 보통 톰켓서버는 여러개로 나누는데(한쪽이 죽더라도 다른쪽 가게, DB도 마찬가지) 새로운 것을 배포하거나, 죽을 때를 대비해서 이렇게 만듬
근데 개발하거나 게시판 정도 돌릴 경우 붙여서 많이 사용
Com+
환경변수로 접근하는것도 특이 그러면 전체 변수를 시스템 환경변수로 제어해서 편함 번거롭게 느껴지기도 함
환경변수 바꾸면 껏다 켜줘야 함
보안, 쓰레딩 풀같은거? 기억이 안나는데 미리 캐쉬처럼 쓰래딩 풀을 늘려놔서 많은 접속자가 왔을때 속도와 부하를 조절 할 수 있도록 함.
쓰래드( Polling vs Event Handler)
Polling
인터럽트나 쓰레드에서 사용
내가 아는 것은 C#에서 비동기를 안하거나 폴링 방식을 안쓰게 되면 만약 포스기에서 카드를 꽂아라 이런 명령을 내리면 카드를 꽂기 전까지 UI가 멈추게 됨,
이벤트 핸들러
일반적으로 이벤트 기반 시스템은 프로그램에서 처리해야 할 비동기 외부 활동이 있을 때 사용된다. 사용자가 마우스 버튼을 클릭하는 것을 예로 들 수 있다. 이벤트 기반 시스템은 보통 이벤트 루프의 형태로 동작한다. 이벤트 루프는 평소에 장치로부터 입력이나 내부 경보를 계속해서 기다리고 있다가, 이와 같은 활동이 발생하면 이벤트를 생성시킨다. 이벤트 기반 시스템은 발생한 이벤트에 대해 언제, 어디서, 어떤 이벤트가 발생했는지 따위의 데이터를 수집하고, 이 데이터를 필요한 이벤트 핸들러로 발송(dispatch)한다.
장단점이 있음
폴링의 장점은 설계가 쉽고 확실한 데이터 관리가 가능함 단점은 대기시간동안 아무것도 못함
이벤트 핸들러의 장점은 비동기형식이기 때문에 프로세스를 요청하고 그 시간동안 다른 작업을 할 수 있음(UI단이 대표적) 그러나 주로 멀티 스레딩을 하게 되는데 메모리를 공유 하는데 이게 가끔 동기화 과정에서 데이터가 날라갈때가 있다고 한다. 이점이 골치아프다고함 그래도 이게 더 좋아보임
한 쓰레드에 UI와 다른 디바이스 요청하는 방식을 동시에 돌리면 되지 않느냐! 라고 질문한다면? 아 설명까먹음... 아마 한쓰레드가 죽으면 모두 멈추는 불안정성이 있으니까가 아닐까 싶다.
재질문 해야할듯?
'IT' 카테고리의 다른 글
[펌] 개발자, 시작하는 것이 고민될 때... (0) | 2019.06.21 |
---|---|
프로시저의 장단점 (0) | 2019.04.17 |
[번역] 웹 아키텍쳐 입문 (0) | 2019.03.14 |
Visual Studio 와 github.com을 이용한 Branch 별 프로젝트 관리 방법 (0) | 2017.04.04 |
WAS와 웹서버의 차이 – 톰캣과 아파치를 구별하지 못하는 사람을 위해 (0) | 2017.04.04 |