CI 묻고 답하기

제목 멀티 서버 세션 공유 질문 드립니다.
카테고리 CI 2, 3
글쓴이 진이s 작성시각 2018/06/14 16:29:41
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 15206   RSS

2대 이상의 웹서버를 운영시 세션을 공유하는것에 있어 질문 드립니다.

문서에 보면 memcached 를 사용시 아래와 같이 사용 할 수 있다는 TIp 을 보았는데 신뢰할 수 있는 테스트는 이루어 지지 않았다고 합니다.

// localhost will be given higher priority (5) here,
// compared to 192.0.2.1 with a weight of 1.
$config['sess_save_path'] = 'localhost:11211:5,192.0.2.1:11211:1'; 

혹시 멀티 서버의 세션 공유 기술중 검증된 기술이나 사용 하신 경험이 있다면 팁좀 부탁 드리겠습니다.

database dirver 는 배제하고 하려고 생각중입니다.

 다음글 php 및 CI활용한 실무 개발환경에 대한 질문입니다. (6)
 이전글 Custom class 는 어디에 구축해야 하나요? (3)

댓글

변종원(웅파) / 2018/06/14 16:35:17 / 추천 0

물리적으로 같은 idc안이거나 클라우드존 안이라면 nfs로 특정 디렉토리를 웹서버들에서 똑같은 디렉토리로 마운트하고 (예 session_temp)

세션을 위 디렉토리에 저장하면 이론적으로 똑같은 세션을 각 서버에서 사용할 수 있습니다.

진이s / 2018/06/14 16:44:53 / 추천 0

서버 관련 기술은 잘은 몰라 생각 하지 못했는데 하신 말씀을 읽어 보니 어느정도 감은 잡힙니다.

댓글 감사합니다. ^^

터푸 / 2018/06/18 10:26:38 / 추천 0

보통 php 세션은 핸들러를 redis 로 지정해서 따로 분리해 놓지 않나요?

위에 언급하신 localhost 를 특정 아이피나 도멘으로 분리해 놓으면 질문의 답이 될듯 싶네요

마루 / 2018/06/18 16:33:02 / 추천 0

멀티 서버시라면 

로드밸런싱으로 사용하실꺼 같은데요.

세션유지가 가능한걸루 알고 있습니다.

아마존일 경우에는 ELB sticky 설정하시면 됩니다.

맥스 / 2018/06/22 11:33:00 / 추천 0
맴캐시도 됩니다. 레디스도 되고요. 마루님이 말씀하신것처럼 L4에서 세션공유를 지원하는 경우도 있습니다.

$config['sess_driver'] = 'redis';
$config['sess_save_path'] = 'tcp://10.2.190.9:6379';