사건의 원인: 메인 프로젝트인 "아름다운 것을 묘사하는 그림"이 있고, 또 다른 하위 기능은 로그인한 사용자 정보를 공유하기 위해 세션과 별개로 진행되는 브랜드 소유자의 진입 기능입니다. 공유가 구현되었습니다. 두 개의 tomcat, 하나의 tomcat6, 하나의 tomcat7
웹 프로젝트 윈도우 시스템에서 세션 공유 실현
첫 번째 단계:
두 Tomcat의 context.xml 파일에서 다음 코드를 구성합니다.
<관리자 className="de.javakaffee.web.msm.MemcachedBackupSessionManager"memcachedNodes="n1:127.0.0.1:11211"lockingMode="auto"sticky="true"requestUriIgnorePattern=".*/.(ico|png|gif|jpg| CSS|j s)$"sessionBackupAsync="false"sessionBackupTimeout="100"transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"copyCollectionsForSerialization="true"/>
2단계:
Tomcat6에 Jar 패키지가 추가되었습니다.
tomcat7에 Jar 패키지가 추가되었습니다.
추신: Tomcat 세션을 저장하려면 Memcache를 사용하세요.
이 글을 쓰는 주된 목적은 인터넷상의 몇몇 오류를 바로잡는 것입니다.
전제 조건:
1. memcached가 정상적으로 작동 중입니다.
2. Tomcat이 정상적으로 작동하고 있습니다.
1. 설치 방법 및 설치 패키지
javolution-5.4.3.1.jar
memcached-2.4.2.jar
memcached-세션-관리자-1.3.0.jar
msm-javolution-직렬 변환기-cglib-1.3.0.jar
msm-javolution-직렬 변환기-jodatime-1.3.0.jar
설치 방법: 이 패키지를 /usr/local/tomcat6.0/lib에 넣습니다.
2. Tomcat 구성 파일을 편집합니다.
<인터넷의 대부분의 기사가 서버 구성 수정에 대해 이야기하기 때문에 이는 중요합니다. 현재 context.xml 파일을 편집하면 세션이 즉시 memcache로 전송될 수 있는 것으로 나타났습니다. >
# vim /usr/local/tomcat6.0/conf/context.xml <Context> <!-- 이 필드 아래에 다음 내용을 추가하세요. 노드 입력 시 memcached 서버 IP와 포트 번호를 입력하세요. --> <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager" memcachedNodes="n1:10.254.41.197:11211" requestUriIgnorePattern=".*/.(png|gif|jpg|css|js)$" sessionBackupAsync="false" sessionBackupTimeout="100" transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory" copyCollectionsForSerialization="false" /> </Context>
3. 테스트 방법은 무엇입니까?
현재 테스트 방법은 Apache의 mod_jk(이전 기사에서 작성)를 통해 로드 밸런싱을 구현하고 Tomcat 간의 세션 복제를 활성화하는 것입니다.
결과적으로 Seesion ID는 사용자가 제출할 때마다 노드를 변경하지만 ID는 변경되지 않습니다.
예를 들어:
ID CFC1ACAC6B0B8C27BEA76919F3A99BF8-n1.tomcat2
다음 제출은 다음과 같습니다. <노드가 전환되었지만 ID는 변경되지 않은 상태로 유지됩니다.>
ID CFC1ACAC6B0B8C27BEA76919F3A99BF8-n1.tomcat1
Memcache 상태와 결합: <Memcached에 세션을 성공적으로 전달하지 못했을 때 cmd_set은 0이었습니다.>
# perl memcached-tool.pl 10.254.41.197:11211 통계
cmd_get 27
cmd_세트 15
get_hits 12
# perl memcached-tool.pl 10.254.41.197:11211 통계
cmd_get 31
cmd_세트 17
get_hits 14
위의 판단으로 보아 구성은 성공한 것 같습니다!