nginx 군집 세 션 복사
2785 단어 session
session
session replication , session 。
down session 。 。
session sticky , , session , ,down session 。
문제 해결
1)ip_hash
upstream backend {
server 172.16.3.10:8080 ;
server 172.16.3.11:9090 ;
ip_hash;
}
추천 하지 않 음:
1 / nginx 는 최 전방 서버 가 아 닙 니 다.
ip_hash 는 nginx 가 반드시 최 전방 서버 여야 합 니 다. 그렇지 않 으 면 nginx 가 정확 한 ip 을 얻 지 못 하면 ip 에 따라 hash 를 할 수 없습니다.예 를 들 어 squid 를 최 전방 으로 사용 하면 nginx 에서 ip 을 가 져 올 때 squid 의 서버 ip 주소 만 얻 을 수 있 습 니 다. 이 주소 로 분류 하 는 것 은 분명 잘못 되 었 습 니 다.
2 / nginx 의 백 엔 드 에는 다른 방식 의 부하 균형 이 있다.
만약 nginx 백 엔 드 에 또 다른 부하 균형 이 있다 면 요청 을 다른 방식 으로 분류 하면 한 클 라 이언 트 의 요청 은 같은 session 응용 서버 에 위치 할 수 없습니다.
3 / 여 개의 외부 네트워크 출구.
많은 회사 들 이 인터넷 에 접속 하면 여러 개의 출구, 여러 개의 ip 주소 가 있 고 사용자 가 인터넷 을 방문 할 때 자동 으로 ip 을 전환 합 니 다.그리고 이런 경우 도 적지 않다.ip 사용hash 는 이러한 상황 의 사용자 에 게 유효 하지 않 습 니 다. 특정한 사용 자 를 고정된 tomcat 에 연결 할 수 없습니다.
사용:
2)nginx_upstream_jvm_route (nginx 확장, 추천)
nginx_upstream_jvm_route 는 nginx 의 확장 모듈 로 쿠키 기반 의 Session Sticky 기능 을 실현 합 니 다.
쉽게 말 하면 쿠키 의 JSESSIONID 를 기반 으로 백 엔 드 에 요청 한 server, nginx 를 결정 합 니 다.upstream_jvm_route 는 사용자 가 백 엔 드 server 를 처음 요청 할 때 응답 하 는 server 표 지 를 쿠키 에 있 는 JSESSIONID 에 연결 하여 다음 요청 을 할 때 nginx 는 JSESSIONID 에 따라 어떤 백 엔 드 server 로 처리 할 지 결정 합 니 다.
1/ nginx_upstream_jvm_경로 설치
다운로드 주소 (svn):http://nginx-upstream-jvm-route.googlecode.com/svn/trunk/
가정 nginxupstream_jvm_route 다운로드 후 경 로 는 / usr / local / nginx 입 니 다.upstream_jvm_route,
(1) nginx 소스 코드 에 들 어 가 는 경로
patch -p0 < /usr/local/nginx_upstream_jvm_route/jvm_route.patch
(2)./configure --with-http_stub_status_module --with-http_ssl_module --prefix=/usr/local/nginx --with-pcre=/usr/local/pcre-8.33 --add-module=/usr/local/nginx_upstream_jvm_route
(3)make & make install
upstream tomcats_jvm_route
{
# ip_hash;
server 192.168.33.10:8090 srun_id=tomcat01;
server 192.168.33.11:8090 srun_id=tomcat02;
jvm_route $cookie_JSESSIONID|sessionid reverse;
}
tomcat 설정 server. xml 수정
<Engine name="Catalina" defaultHost="localhost" >
:
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat01">
구체 적 설정 참조
[url]
http://hanqunfeng.iteye.com/blog/1920994
[/url]
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
redis-rails의 세션 만료 거동을 확인하고 플레이로컬로 사이트에 액세스하는 것으로 3개월의 기한 첨부 세션 데이터가 생성되는 설정을 하고 있다. redis 시작 command DB1 선택(설정에 따라 다름) redis-commands 사이트에 접속, 키 일람을 취...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.