Java 웹 세션 NCache

세션 개별 사용자에 대한 데이터를 저장하는 방법입니다. Java Servlet 또는 JSP(Java Server Page) 내부에서 웹 응용 프로그램을 호스팅하는 서블릿 컨테이너라고 하는 응용 프로그램 서버에서 만든 Java 세션 개체에는 다음이 포함됩니다. 아파치 톰캣, 와일드플라이, 오라클 웹로직 서버 IBM 웹스피어 애플리케이션 서버.

예를 들어 Tomcat 웹 서버는 Tomcat 웹 서버 클러스터를 통한 세션 복제를 통해 세션 처리를 제공합니다. 세션 복제로 인해 데이터 및 메모리 오버헤드가 발생하여 속도가 느려지고 성능과 확장성이 저하될 수 있습니다.

따라서, NCache 사용자가 로드 밸런싱된 웹 팜에서 문제 없이 애플리케이션 내에 Java 세션을 저장할 수 있는 더 나은 옵션을 제공합니다.

Java 웹 세션 캐싱 아키텍처 사용 NCache 선형 확장성을 위한 로드 밸런싱 웹 팜의 세션 제공자.
확장 가능한 Java 세션 관리 NCache 동적 클러스터.

지원되는 Java 서블릿 컨테이너 및 사양

NCache 아래에서 설명하는 것처럼 웹 애플리케이션을 쉽게 호스팅할 수 있는 다양한 유형의 서블릿 컨테이너를 사용하는 옵션을 사용자에게 제공합니다. NCache Java Servlet 3.1+ 사양을 준수합니다.

  1. 아파치 톰캣: Java Servlet과 Java Server 페이지의 오픈 소스 구현이며 Java 코드가 실행될 수 있는 "순수 Java" HTTP 웹 서버 환경도 제공합니다. 스티키 세션을 통해 세션 처리를 제공합니다.
  2. 와일드플라이: WildFly는 Red Hat이 개발한 가볍고 고성능의 오픈 소스 Java EE 애플리케이션 서버입니다.
  3. Oracle WebLogic 서버: Oracle WebLogic은 엔터프라이즈 애플리케이션을 개발, 배포, 실행하는 데 사용되는 Java EE 애플리케이션 서버입니다.
  4. IBM WebSphere 애플리케이션 서버: IBM WebSphere Server는 엔터프라이즈 애플리케이션을 빌드, 배포, 관리하기 위한 런타임 환경을 제공하는 Java EE 애플리케이션 서버입니다.

다음에 대한 Java 세션 모듈 구성 NCache

Java 세션을 구성하려면 %NC_Home%/config에 있는 "session.xml" 파일을 수정해야 합니다. NCache 폴더. 다음은 이를 수행하는 코드입니다. NCache. 라이브러리 추가, 필터 정의 및 서블릿 컨테이너를 사용한 애플리케이션 배포에 대한 자세한 내용은 다음을 참조하세요. 라이브러리 추가 및 필터 정의 도움. NCache 이 라이브러리는 표준 Java Servlet Filter API를 활용하여 애플리케이션 로직을 수정할 필요 없이 세션 관리 호출을 가로채 분산 캐시로 리디렉션할 수 있습니다.

<?xml version="1.0" encoding="UTF-8"?>  
   <!--for single regional session provider-->
<servlet-session-config>
    <cache id="myPartitionedCache"/>
    <log log-props="log4j.properties"/>
    <locking enable-session-locking="true" retries-count="2" retry-interval="500ms" lock-timeout="36000ms" empty-session-when-locked="false"/>
</servlet-session-config>

왜 사용 하는가? NCache 자바 세션 관리를 위해서요?

NCache 자바 애플리케이션에서 세션을 영구 저장할 수 있는 "코드 변경 없는" 옵션을 사용자에게 제공합니다. NCache 분산 캐싱. 애플리케이션이 부하 분산된 웹 서버 팜에서 실행 중이고 세션 지속성을 위해 안정적이고 확장 가능한 스토리지가 필요한 경우, NCache 다음과 같은 이점을 제공합니다.

  1. 최고의 성능: NCache 가장 빠른 응답 시간을 제공하여 성능을 향상시킵니다. NCache 컴팩트 직렬화(Compact Serialization)는 표준 Java 직렬화보다 Java 객체를 훨씬 빠르게 직렬화하여 CPU 오버헤드와 네트워크 지연 시간을 대폭 줄입니다.
  2. 고가용성: NCache 단일 장애 지점이 없는 강력한 분산 캐시 클러스터를 제공합니다. 고가용성 애플리케이션을 중지하지 않고 캐시를 추가하거나 제거할 수 있음을 의미합니다.
  3. 최고의 신뢰성: NCache 이 기능을 사용하면 사용자가 지정한 토폴로지에 따라 여러 서버에 Java 서블릿 세션을 복제할 수 있습니다. 파티션 복제와 같은 토폴로지는 세션 데이터가 노드 전체에 미러링되도록 보장하여 개별 캐시 서버에 장애가 발생하더라도 100% 가동 시간을 유지하고 안정성과 성능을 저하시키지 않습니다. 따라서 캐시 서버가 어떤 이유로든 다운되더라도 사용자는 세션 데이터를 손실하지 않습니다.
  4. 토폴로지를 통한 뛰어난 세션 복제: NCache 필요에 따라 세션을 유지할 수 있는 다양한 캐싱 토폴로지를 제공합니다. 예를 들어 다음을 사용할 수 있습니다. 분할 복제 토폴로지 더 많은 안정성과 확장성을 위해.
  5. 선형 확장성: NCache, 메모리 내 분산 선형 확장 가능 그리드는 세션 애플리케이션이 가능한 한 많은 확장성을 달성할 수 있는 이유인 높은 로드를 처리할 수 있는 기능이 있습니다.

여러 지역에 걸쳐 Java 세션을 관리하는 방법은 무엇입니까?

분산된 데이터 센터 간 세션 관리는 종종 지연 및 동기화 문제를 야기합니다. NCache 이 솔루션은 유연한 멀티사이트 영구 저장 옵션을 제공하여 이 문제를 해결합니다. 지리적으로 분리된 여러 웹 팜에서 Java 서블릿 세션을 관리하기 위해, NCache 다음과 같은 방식으로 다중 사이트 세션 지속성을 제공합니다.

  1. Java 웹 세션 WAN 복제: NCache 사용자는 WAN을 통해 모든 Java 세션을 다른 지역(데이터 센터)으로 복제할 수 있습니다. 브리지 토폴로지 특징 NCache. 이렇게 하면 지역이 다운되더라도 Java 세션이 손실되지 않습니다.
  2. 다중 사이트 Java 웹 세션: 사용자가 주로 높은 대역폭 소비 및 가능한 성능 문제로 인해 WAN을 통해 세션을 복제하지 않으려는 경우 다음 개념을 사용하도록 선택할 수 있습니다. 다중 사이트 Java 세션 지원, 의 기능 NCache. 이 접근 방식에서 각 지역은 별도의 캐시를 구성할 수 있으며 모든 캐시에는 고유한 클라이언트 집합(Java 서블릿)이 있습니다. 세션은 사이트 간에 복제되지 않고 생성 위치에 보관됩니다.

이를 통해 두 개 이상의 활성 개별 지역을 가질 수 있으며 사용자는 대부분의 트래픽을 자체 지역으로 유지할 수 있습니다. 마찬가지로 사용자가 어떤 이유로 지역을 다운하더라도 다른 지역에서 해당 지역에 액세스할 수 있으므로 문제가 발생하지 않습니다.

고급 기능 NCache 자바 웹 세션

에 대한 Java 웹 세션 NCache Java 웹 세션에서 제공하는 모든 표준 기능을 구현합니다. 또한 다른 중요한 상황을 처리하기 위해 몇 가지 고급 기능을 구현합니다.

  1. 세션 만료: NCache 세션 만료를 처리하고 지정된 세션 시간 초과 동안 캐시에서 세션을 제거합니다. 마찬가지로 서블릿 컨테이너를 통해 세션 시간 초과 값을 지정할 수 있습니다. NCache 내부적으로 해당 간격을 사용하여 캐시에서 세션을 만료합니다.
  2. 다중 세션 요청 및 데이터 무결성 처리: 병렬 요청으로 인해 세션이 변경될 수 있는 상황을 방지하려면 NCache 두 개의 병렬 요청이 동일한 세션을 변경할 수 없도록 잠금 메커니즘을 제공합니다. 다음과 같은 방법으로 "session.xml" 파일에 지정할 수 있습니다.
    <servlet-session-config>
        <locking enable-session-locking="true" retries-count="2" retry-interval="500ms" lock-timeout="36000ms" empty-session-when-locked="false"/>
    </servlet-session-config>
  3. 세션 데이터 직렬화 처리: Java 서블릿 세션에 Java 개체를 넣고 외부 프로세스에 저장한 후 전체 Java 서블릿 세션을 직렬화해야 합니다. NCache 라는 일반 Java 직렬화에 비해 더 빠른 직렬화를 제공합니다. 컴팩트 직렬화. 이를 통해 Java 애플리케이션 속도가 크게 향상됩니다.

다음에 무엇을할지?

자주 묻는 질문 (FAQ)

NCache 세션 데이터를 속도가 느리고 디스크에 의존적인 데이터베이스나 오버헤드가 큰 서블릿 복제에서 메모리 내 분산 캐시로 이동시켜 성능을 향상시킵니다. NCache 컴팩트 직렬화(Compact Serialization)는 표준 Java 직렬화보다 Java 객체를 더 빠르게 직렬화하여 트래픽이 많은 환경에서 CPU 사용량과 네트워크 지연 시간을 크게 줄여줍니다.

예. NCache 표준 Java Servlet Filter API를 활용하여 "코드 변경 없이" 통합할 수 있습니다. session.xml 구성 파일을 수정하여 사용자 환경을 가리키도록 설정하기만 하면 됩니다. NCache 클러스터에서 필터는 세션 관리 호출을 자동으로 가로채 분산 저장소로 리디렉션합니다.

병렬 요청(예: AJAX 호출) 중 데이터 손실이나 "더티 리드"를 방지하기 위해, NCache 강력한 세션 잠금 메커니즘을 구현합니다. 이를 통해 하나의 요청이 세션 객체를 수정하는 동안 다른 요청은 특정 잠금 구성에 따라 대기열에 추가되거나 처리되어 엄격한 데이터 일관성을 유지합니다.

예. NCache WAN 복제용 브리지 토폴로지를 통해 지리적으로 분산된 웹 팜을 지원합니다. 데이터 센터 간 세션 데이터를 복제하여 고가용성을 보장합니다. 또는 멀티사이트 Java 세션을 사용하여 트래픽을 특정 지역 내에서 유지하면서 데이터 센터 장애 발생 시 다른 사이트로 페일오버할 수 있습니다.

문의하기

전화

+1 214-619-2601 (미국)

© 저작권 Alachisoft 2002 - . 판권 소유. NCache 는 Diyatech Corp.의 등록상표입니다.