웹 용기 의 디자인 은 어떻게 실현 합 니까?

웹 용기 디자인
웹 용 기 를 개발 하 는 것 은 여러 가지 서로 다른 차원 의 기술,예 를 들 어 통신 층 의 지식,프로그램 언어 차원 의 지식 등 이 있 고 사용 가능 한 웹 용 기 는 비교적 방대 한 시스템 이다.긴 편폭 이 필요 하 다 는 것 을 분명히 말 해 야 한다.본 고 는 웹 용 기 를 어떻게 설정 하고 실현 하 는 방향 만 연구 하 며 너무 많은 구체 적 인 실현 과 관련 되 지 않 는 다.이 를 여러 모듈 과 구성 요소 로 나 누 어 각 구성 요소 모듈 은 서로 다른 기능 을 담당 합 니 다.아래 그림 은 기본 적 인 구성 요 소 를 보 여 주 며 각 구성 요 소 를 소개 합 니 다.
  web容器,设计,JSP
연결 수신 기
클 라 이언 트 소켓 이 연결 되 어 있 는 지 확인 하고 socket 을 받 은 다음 에 socket 을 작업 수행 기(라인 풀)에 맡 기 는 것 이 주요 직책 입 니 다.시스템 밑 에서 socket 을 계속 읽 고 가능 한 한 적 게 처리 한 다음 스 레 드 탱크 에 던 집 니 다.왜 가능 한 한 적은 처 리 를 해 야 한다 고 강조 합 니까?이곳 은 시스템 성능 문제 와 관련 되 어 있 으 며,너무 많은 처 리 는 스루풋 에 심각 한 영향 을 줄 수 있다.일반적으로 하나의 수신 기(하나의 스 레 드 는 소켓 수신 을 담당 합 니 다)만 있 기 때문에 매번 수신 처리 시간 이 길 면 전체 성능 에 영향 을 미 칠 수 있 습 니 다.그래서 수신 기 가 하 는 일 은 매우 적 고 간단 합 니 다.몇 가지 상태 변수,유량 제어 수문 의 누적 작업,server Socket 의 수신 작업,받 은 socket 의 일부 속성 을 설정 하고 받 은 socket 을 스 레 드 탱크 에 넣 고 이상 처 리 를 합 니 다.다른 오래 걸 리 는 논 리 는 스 레 드 탱크 에 맡 겼 습 니 다.예 를 들 어 socket 바 텀 데이터 에 대한 읽 기,http 프로 토 콜 메시지 에 대한 분석 과 클 라 이언 트 에 대한 응답 등 입 니 다.
web容器,设计,JSP
연결 수 컨트롤 러
한 기계 의 경우 방문 요청 의 총 트 래 픽 이 절정 기 에 있 고 서버 에 물리 적 한계 가 있 습 니 다.웹 서버 가 무 너 지지 않도록 보호 예방 조 치 를 취해 야 합 니 다.이 곳 의 트 래 픽 은 주로 소켓 의 연결 수 를 가리 키 고 소켓 연결 개 수 를 제어 하여 트 래 픽 을 제어 해 야 합 니 다.그 중에서 효과 적 인 방법 은 바로 유량 통 제 를 하 는 것 이다.마치 유량 의 입구 에 수문 을 추가 한 것 처럼 수문 의 크기 는 유량 의 크기 를 결정 하고 최대 유량 에 이 르 면 수문 을 닫 고 빈 통로 가 있 을 때 까지 수신 을 중단 하 는 것 이다.계산 기 는 JDK 의 AQS 프레임 워 크 로 구현 할 수 있 습 니 다.
web容器,设计,JSP
소켓 공장
서로 다른 사용 장소 에 서로 다른 안전 등급 이 필요 할 수 있 습 니 다.예 를 들 어 결제 와 관련 된 거래 는 반드시 정 보 를 암호 화 한 후에 보 내야 합 니 다.이 는 키 협상 과정 과 관련 되 고 다른 일반적인 장소 에 서 는 메시지 암호 화 를 필요 로 하지 않 습 니 다.응용 층 에 반응 하 는 것 은 http 와 https 를 사용 하 는 문제 입 니 다.
간단히 말 하면 TLS\SSL 협 의 는 매번 통신 ① 에 인증 서 비 스 를 제공 하고 이번 세 션 의 실체 신분 의 합 법성 을 인증 합 니 다.② 암호 화 서 비 스 를 제공 하고 강력 한 암호 화 체 제 는 통신 과정 에서 의 정보 가 해독 되 지 않도록 보장 할 수 있다.③ 변경 방지 서 비 스 를 제공 하고 Hash 알고리즘 을 이용 하여 메시지 에 서명 하 며 검증 서명 을 통 해 통신 내용 이 변경 되 지 않도록 확보한다.
http 프로 토 콜 은 Socket 에 대응 하고 https 는 SSLSocket 에 대응 합 니 다.Socket 및 SSLSocket 을 어떻게 생 성 하 는 지 는 소켓 공장 에 맡 깁 니 다.
web容器,设计,JSP
태 스 크 정의 기―Task
실행 해 야 할 작업 을 정의 하고 스 레 드 탱크 에서 어떤 작업 을 수행 해 야 하 는 지 알려 줍 니 다.작업 은 주로 세 가지 로 나 뉜 다.socket 을 처리 하고 클 라 이언 트 에 응답 하 며 연결 계수 기 를 하나 줄 이 고 socket 을 닫 는 것 이다.그 중에서 socket 에 대한 처 리 는 가장 중요 하고 가장 복잡 합 니 다.이 는 바 텀 socket 바이트 흐름 에 대한 읽 기,http 프로 토 콜 요청 메시지 에 대한 분석(요청 행,요청 헤드,요청 체 등 정보 에 대한 분석),요청 행 분석 에 따라 해당 호스트 의 웹 프로젝트 자원 을 찾 고 처리 결과 에 따라 http 프로 토 콜 응답 메 시 지 를 조립 하여 클 라 이언 트 에 출력 하 는 것 을 포함 합 니 다.
web容器,设计,JSP
작업 실행 기
최대 최소 스 레 드 수 제한 을 가 진 스 레 드 탱크 를'작업 수행 기'라 고 부 르 는 이 유 는 스 레 드 탱크 가 여러 스 레 드 를 시작 하여 특정한 작업 대기 열 을 계속 검사 하 는 것 으로 볼 수 있 기 때 문 입 니 다.실행 해 야 할 작업 이 있 으 면 실행 합 니 다.최대 최소 스 레 드 수 제한,불필요 한 스 레 드 회수 시간 제한,최대 스 레 드 수 를 초과 할 때 스 레 드 탱크 가 하 는 거부 동작 등.
web容器,设计,JSP
메시지 읽 기
운영 체제 밑 에 클 라 이언 트 로부터 메 시 지 를 읽 고 버퍼 메커니즘 을 제공 합 니 다.메시지 가 desBuf 로 복사 되 었 습 니 다.
web容器,设计,JSP
메시지 출력
운영 체제 의 밑바닥 에 웹 용기 로 처 리 된 메 시 지 를 기록 하고 버퍼 메커니즘 을 제공 합 니 다.메시지 outputBuf 를 버퍼 를 통 해 운영 체제 에 기록 합 니 다.
web容器,设计,JSP
입력 필터
이 읽 기 과정 에서 추가 처 리 를 원 하 며,이러한 추가 처 리 는 서로 다른 조건 에 따라 서로 다른 처 리 를 할 수 있 으 며,프로그램의 디 결합 과 확장 을 고려 하여 필 터 를 도입 할 수 있 습 니 다.한 층 의 필 터 를 통 해 필 터 를 완성 한 후에 야 desBuf 에 도착 할 수 있 습 니 다.이 과정 은 하나의 처리 관문 이 추 가 된 것 처럼 관문 을 거 쳐 해당 하 는 작업 을 수행 하고 최종 적 으로 소스 데이터 에서 목적 데이터 까지 의 작업 을 완성 합 니 다.
web容器,设计,JSP
출력 필터
입력 필터 기능 과 유사 하여 메시지 출력 에 사용 합 니 다.
web容器,设计,JSP
메시지 해석 기
http 프로 토 콜 의 각 부분 을 분석 하 는 능력 을 제공 합 니 다.
web容器,设计,JSP
요청 생 성기
대상 을 대상 으로 하 는 사상 에 따라 모든 요청 과정 에서 요청 과 관련 된 속성 과 프로 토 콜 필드 등 을 Request 대상 으로 추상 화 합 니 다.요청 행,요청 헤드,요청 체 세 부분 정 보 를 포함 하여 처리 과정 에서 어떤 값 이 필요 하면 request 대상 에서 직접 얻 을 수 있 습 니까?servlet 표준 을 실현 하기 위해 편 의 를 제공 합 니 다.
web容器,设计,JSP
응답 생 성기
요청 에 대응 하기 위해 서 는 응답 대상 생 성기 가 필요 합 니 다.응답 줄,응답 헤드,응답 체 세 부분 정 보 를 포함 하여 처리 결과 관련 값 을 response 대상 에 직접 설정 할 수 있 습 니 다.servlet 표준 을 실현 하기 위해 편 의 를 제공 합 니 다.
web容器,设计,JSP
주소 매 핑 장치
주소 매 핑 기 는 각 웹 항목,각 자원 을 요청 하 는 공유 기 입 니 다.요청 한 접근 은 경로 에 따라 응답 하 는 자원 을 찾 아 요청 클 라 이언 트 에 게 출력 합 니 다.
web容器,设计,JSP
라 이 프 사이클
더 모듈 화 하기 위해 서 는 전체 용기 에 많은 구성 요 소 를 가지 고 있 습 니 다.이 구성 요 소 는 서로 다른 시간 에 서로 다른 이 벤트 를 해 야 할 수도 있 습 니 다.하나의 생명 주기 가 모든 구성 요 소 를 통일 적 으로 관리 해 야 합 니 다.예 를 들 어 모든 구성 요소 의 시작,정지,닫 기 등 작업 은 수명 주기 에 의 해 통일 적 으로 관리 되 고 이 구성 요소 들 의 수명 주 기 를 편리 하 게 관리 할 수 있 습 니 다.어떤 상태 에서 일이 일어나 기 전에 뭘 했 으 면 좋 겠 어 요?라 이 프 사이클 모니터 를 추가 하면 우아 하 게 이 루어 집 니 다.
web容器,设计,JSP
JMX 관리자
시스템 운행 상태의 모니터링 및 관리,서버 성능,서버 관련 매개 변수 수집,JVM 부하,웹 연결 수,스 레 드 탱크,데이터 베이스 연결 탱크,캐 시 관리,프로필 재 로드 등.원 격 시각 화 관 리 를 제공 하여 실시 간 으로 높 습 니 다.또한 분포 식 시스템 의 관리 에 해결 방안 을 제공 했다.
web容器,设计,JSP
웹 로 더
웹 로 더 는 웹 응용 프로그램 을 불 러 오 는 데 사 용 됩 니 다.웹 용기 에는 여러 개의 웹 응용 프로그램 이 포함 되 어 있 을 수 있 습 니 다.lib 및 servlet 의 격 리 를 위해 모든 웹 응용 프로그램 에 대해 서로 다른 종류의 로 더 ClassLoader 를 사용 해 야 합 니 다.또한 이러한 종류의 로 더 는 부자 관계 가 아니 므 로 class 격 리 효 과 를 얻 을 수 있 습 니 다.즉,하나의 웹 응용 lib 는 다른 웹 응용 프로그램 에 사용 되 지 않 습 니 다.
web容器,设计,JSP
세 션 관리자
세 션 관리 자 는 주로 세 션 을 관리 합 니 다.① sessionid 를 생 성 합 니 다.일반 cookies 나 url 에 jsessionid 값 이 없 으 면 세 션 이 존재 하지 않 는 다 고 생각 하고 sessionid 를 다시 생 성하 여 세 션 id 로 사용 해 야 합 니 다.② 많은 클 라 이언 트 의 세 션 이 서버 에 저장 되 어 있 으 며,시간 초과 세 션 은 서버 메모리 가 낭비 되 지 않도록 정기 적 으로 정리 해 야 합 니 다.③ 일부 중요 한 세 션 은 디스크 에 오래 지속 되 고 필요 할 때 메모리 에 다시 불 러 와 사용 할 수 있 습 니 다.
web容器,设计,JSP
실행 로그
실행 중 경고,이상,오 류 를 기록 합 니 다.
web容器,设计,JSP
접근 로그
방문 로 그 는 클 라 이언 트 의 방문 관련 정 보 를 기록 합 니 다.클 라 이언 트 ip,요청 시간,요청 프로 토 콜,요청 방법,요청 바이트 수,응답 코드,세 션 id,처리 시간 등 을 포함 합 니 다.방문 로 그 는 방문 사용자 의 수량,방문 시간 분포 등 규칙 과 개인 취미 등 을 통계 할 수 있 는데 이런 데 이 터 는 회사 가 운영 전략 에서 선택 하 는 데 도움 을 줄 수 있다.
web容器,设计,JSP
안전 관리자
웹 프로젝트 가 웹 용기 플랫폼 에서 실행 되 는 것 은 하나의 응용 프로그램 을 한 플랫폼 에 끼 워 넣 고 실행 하 는 것 과 같 습 니 다.끼 워 넣 은 프로그램 이 정상적으로 작 동 하려 면 먼저 플랫폼 이 안전 하고 정상적으로 작 동 해 야 합 니 다.또한 플랫폼 이 포 함 된 응용 프로그램의 영향 을 받 지 않 고 어느 정도 에 격 리 효 과 를 얻 도록 해 야 한다.시작 할 때-Djava.security.manager-Djava.security.policy==web.policy 를 통 해 policy 파일 을 지정 합 니 다.이 파일 은 여러 권한 을 정의 합 니 다.
web容器,设计,JSP
모니터링&원 격 관리 실행
웹 용기 의 운행 상 태 를 실시 간 으로 감시 할 수 있 는 플랫폼 을 제공 하고 원 격 관 리 를 할 수 있 습 니 다.
web容器,设计,JSP
군집
클 러 스 터 는 보통 두 가지 가 있다.① 부하 균형 클 러 스 터 는 보통 일정한 배포 알고리즘 을 통 해 방문 유량 을 클 러 스 터 안의 각 기계 에 골 고루 분포 시 켜 처리한다.② 높 은 사용 가능 한 클 러 스 터,클 러 스 터 통신 은 여러 기 계 를 연결 시 키 는데 이런 클 러 스 터 는 클 러 스 터 중의 한 기계 가 고장 이 난 후에 자동 전환 이나 유량 이전 등 조 치 를 통 해 전체 클 러 스 터 의 대외 적 가용성 을 확보 하 는 데 더욱 편중 된다.
웹 은 일반적으로 요청 이 없 으 면 클 러 스 터 를 직접 만 들 수 있 지만 session 과 관련 된 것 은 상태 에 속 하기 때문에 클 러 스 터 통신 기술 로 session 복사 가 필요 합 니 다.관련 기술 은 그룹 방송,단독 방송 을 포함한다.
web容器,设计,JSP
Servlet 엔진
servlet 엔진 은 웹 응용 프로그램의 servlet 및 jsp 생 성 대상 을 반사 하여 servlet 대상 풀 에 넣 고 실제 호출 에 따라 해당 하 는 방법 을 사용 합 니 다.웹 응용 프로그램 은 업무 논리 처 리 를 dopost 나 doget 방법 에 두 고 웹 용기 처리 요청 을 할 때 여기 서 정 의 된 처리 논리 에 따라 처리 하고 응답 클 라 이언 트 를 처리 합 니 다.
web容器,设计,JSP
JSP 컴 파일 러
규범 에 따라 JSP 는 최종 적 으로 servlet 로 컴 파일 되 어 실행 되 기 때문에 규범 에 따라 jsp 파일 을 컴 파일 해 야 합 니 다.JSP 컴 파 일 러 는 사실 jsp 문법 을 번역 하고 jsp 문법 에 따라 처리한다.
web容器,设计,JSP
웹 용 기 는 기본적으로 위 에서 소개 한 구성 요소 의 기능 을 포함 하고 있 으 며,각 구성 요소 모듈 에 따라 웹 을 실행 할 수 있 는 웹 용 기 를 만 들 수 있 습 니 다.
 읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기