Rovin

블로그 이미지

RovinJ

'Java/JSP'에 해당되는 글 2건

제목 날짜
  • [Tomcat] L4 로드벨런싱이 되어 Session 공유 2013.12.05
  • [Tomcat] JSESSIONID 에 대한 !!! 2013.12.05

[Tomcat] L4 로드벨런싱이 되어 Session 공유

Java/JSP 2013. 12. 5. 16:42

출처 : http://qnrdlqkrwhdgns.canxan.com/jpboard/post/777


1.     L4의 로드밸런싱 방식을 라운드로빈에서 해시로 바꾼다. 즉, 접속해 오는 IP에 따라 서버의 IP가 정해지는 방식은 매번 같은 서버로 연결이 되기 때문에 세션을 잃어 버리는 문제가 없어짐.

(구글링으로 L4 Tomcat Session을 찾아보면 많은 정보가 있음)

2.     일명 세션 클러스터링이라고 불리우는 방법인데 세션을 공유해야 하는 톰캣끼리 세션공유를 하도로 설정한다.

(http://qnrdlqkrwhdgns.canxan.com/jpboard/post/777)

 

'Java > JSP' 카테고리의 다른 글

[Tomcat] JSESSIONID 에 대한 !!!  (0) 2013.12.05
Posted by RovinJ

[Tomcat] JSESSIONID 에 대한 !!!

Java/JSP 2013. 12. 5. 12:39

http://lng1982.tistory.com/143


세션 충돌..

내용은 대충 이렇다...

특정 서버에서 

우리쪽 L4아이피로 URL을 걸어 접속을 하는데..

A,B서버 어느 곳으로 붙을지 모르는상황...

A로 붙어서 로그인이 되면 서블릿 컨테이너 톰캣이 내부적으로 확인 할 수 있는 JSESSIONID라는 쿠키를

Client에 값을 남긴다.

- Response 쪽에 Header정보를 까보면 set-cookie: JSESSIONID=123156ASF564 대충 뭐 이런식의 값이 남는다

그후 사이트를 돌아다니면

set-cookie가 아닌 cookie값으로 읽은게 확인되는데 이게 tomcat에서 인식을 하여 로그인을 한 사람으로 간주한다.

근데 왜  쿠키로 남기느냐!?

Http 프로토콜은 stateless의 특징.. 요청-응답-끝(연결 끊김) 이 되기 떄문에 그렇기 때문에 서버에서는 사용자의 로그인 인증 여부를 확인 할 수 있도록 남기는 것이다.


여기서 로그인 재요청을 하면 client브라우저에 있는 JSESSIONID쿠키 값을 request의 header에 담아 서버로 전송!

톰캣은 확인 후 response로 JSESSIONID를 다시 내리지 않는다.


그리고 쿠키는 포트를 구분하지 않기 때문에 포트를 분리 하여도 동일 서비스로 인식한다.!

왜냐, 로컬에 저장되있는 쿠키를 보내기 때문에!!

Tomcat 5.5 인 경우

- catalina.bat 또는 JAVA_OPTS에 추가한다.

-Dorg.apache.catalina.SESSION_COOKIE_NAME=JSESSIONID 

  참조: http://tomcat.apache.org/tomcat-5.5-doc/config/systemprops.html


  <Tomcat 7.x 의 경우>

  Tomcat 7 에서는 위의 속성이 deprecated되었다고 한다.

  대신 global context.xml 파일 (CATALINA_BASE/conf/context.xml) 에

  다음과 같이 sessionCookieName 속성을 등록해야 한다고..

  <Context sessionCookieName="JSESSIONID">

  (위 하나로 통일)

  참조: http://tomcat.apache.org/tomcat-7.0-doc/config/context.html

 

  <Tomcat 6.x 의 경우>

  위의 둘 다 가능한데, 다만 system property가 우선한다고 한다.

[출처] 세션 키 변경 - Tomcat, Redmine|작성자 우가가



오늘 하나 배웠다!!

'Java > JSP' 카테고리의 다른 글

[Tomcat] L4 로드벨런싱이 되어 Session 공유  (0) 2013.12.05
Posted by RovinJ
이전페이지 다음페이지
블로그 이미지

by RovinJ

공지사항

    최근...

  • 포스트
  • 댓글
  • 트랙백
  • 더 보기

태그

  • 영어공부
  • 우수타

글 보관함

«   2025/08   »
일 월 화 수 목 금 토
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

링크

카테고리

분류 전체보기 (60)
Music (0)
@ Studying @ (0)
My Story (6)
IT Story (4)
Hello (0)
Japanese! (0)
English (0)
U-Phone! (0)
AI (0)
machine_learning (0)
deep_learning (0)
Algorithm&DataStructure (1)
Android (1)
Arduino (2)
Apache (2)
ZooKeeper (0)
Applications (0)
formerRoid (0)
Architecture (0)
Books (0)
[Blog2Book]아는 만큼 보이는 데이터베이스.. (0)
[한빛미디어] MySQL 퍼포먼스 최적화 (0)
[O'REILLY] Javascript Patte.. (0)
[Blog2Book] 자바성능을 결정짓는 코딩 습.. (0)
Do it 직접해보는 하둡 프로그래밍 (0)
Do it 반응형 웹디자인 (0)
Clean Code (0)
데이터가 보인다 (0)
Broadcast (5)
Bots (0)
slack (0)
Cloud (0)
AWS (0)
Data_Eng (2)
Hadoop (2)
Spark (0)
DB (2)
Oracle (0)
SQLite (0)
MySQL (1)
MariaDB (1)
NoSQL (0)
DistributedComputing (0)
GO (3)
Groups (0)
CodeForSeoul (0)
BluffingSloth (0)
HTML&CSS (0)
Ruby (0)
Java (26)
Spring (1)
JSP (2)
PlayFramework (1)
Javascript (2)
Jquery (0)
AngularJS (1)
NodeJS (1)
ES6 (0)
React (0)
Linux (0)
MAC (0)
Network (0)
Xmpp (0)
NAS (0)
PHP (0)
Programming (0)
Eclipse (0)
DesignPattern (0)
Git (0)
Project (2)
VidasOne (1)
Panape (0)
Python (0)
SearchEngines (0)
Elastic_Search (0)
Scala (0)
TastyRoad (0)
Etc (1)
OneNote (0)
UX&UI (0)
Machine (0)
Crawler (0)
Design (0)
여행 (0)
유럽여행- 결혼10주년 (0)

카운터

Total
Today
Yesterday
방명록 : 관리자 : 글쓰기
RovinJ's Blog is powered by daumkakao
Skin info material T Mark3 by 뭐하라
favicon

Rovin

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • 분류 전체보기 (60)
    • Music (0)
    • @ Studying @ (0)
    • My Story (6)
    • IT Story (4)
    • Hello (0)
    • Japanese! (0)
    • English (0)
      • U-Phone! (0)
    • AI (0)
      • machine_learning (0)
      • deep_learning (0)
    • Algorithm&DataStructure (1)
    • Android (1)
    • Arduino (2)
    • Apache (2)
      • ZooKeeper (0)
    • Applications (0)
      • formerRoid (0)
    • Architecture (0)
    • Books (0)
      • [Blog2Book]아는 만큼 보이는 데이터베이스.. (0)
      • [한빛미디어] MySQL 퍼포먼스 최적화 (0)
      • [O'REILLY] Javascript Patte.. (0)
      • [Blog2Book] 자바성능을 결정짓는 코딩 습.. (0)
      • Do it 직접해보는 하둡 프로그래밍 (0)
      • Do it 반응형 웹디자인 (0)
      • Clean Code (0)
      • 데이터가 보인다 (0)
    • Broadcast (5)
    • Bots (0)
      • slack (0)
    • Cloud (0)
      • AWS (0)
    • Data_Eng (2)
      • Hadoop (2)
      • Spark (0)
    • DB (2)
      • Oracle (0)
      • SQLite (0)
      • MySQL (1)
      • MariaDB (1)
      • NoSQL (0)
    • DistributedComputing (0)
    • GO (3)
    • Groups (0)
      • CodeForSeoul (0)
      • BluffingSloth (0)
    • HTML&CSS (0)
    • Ruby (0)
    • Java (26)
      • Spring (1)
      • JSP (2)
      • PlayFramework (1)
    • Javascript (2)
      • Jquery (0)
      • AngularJS (1)
      • NodeJS (1)
      • ES6 (0)
      • React (0)
    • Linux (0)
    • MAC (0)
    • Network (0)
      • Xmpp (0)
      • NAS (0)
    • PHP (0)
    • Programming (0)
      • Eclipse (0)
      • DesignPattern (0)
      • Git (0)
    • Project (2)
      • VidasOne (1)
      • Panape (0)
    • Python (0)
    • SearchEngines (0)
      • Elastic_Search (0)
    • Scala (0)
    • TastyRoad (0)
    • Etc (1)
      • OneNote (0)
    • UX&UI (0)
    • Machine (0)
      • Crawler (0)
    • Design (0)
    • 여행 (0)
      • 유럽여행- 결혼10주년 (0)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바