2011-12-19 1 views
1

저는 클라우드로 애플리케이션을 옮기려고합니다. 특히 RackSpace를 사용하고 있으며, X를 가리키고로드 밸런서가 스틱 세션을 제공하지 않는다는 것을 알아 냈습니다. https를 통해.ColdFusion 및 클라우드 클러스터로드 밸런싱 세션

아마존에서도 이와 같이하지 않는 것으로 보입니다.

분명히 저는 서버에서 사용자를 유지하거나 인스턴스간에 세션 데이터를 공유해야합니다.

사용자가 착륙 한 서버로 하드 리디렉션하는 것을 고려했지만 사용자가 즐겨 찾기에 추가하면 해당 서버에 남아있는 것처럼 좋지 않습니다.

제안 사항.

+0

다중 서버 구성에서 ColdFusion을 실행하고 있습니까? –

+0

아니요, 클라우드의 엔터프라이즈 인스턴스 만 허용됩니다. –

+0

만약 각 vps에서 'ha-proxy'또는 'nginx'를 실행하면 헤더를 기반으로 올바른 서버에 물건을 푸시합니다. 그러나 보조 diy로드 밸런서 구성보다 애플리케이션을 변경할 작업이 적습니다 – matiu

답변

2

세션 변수가 아닌 클라이언트 변수를 사용할 수 있습니다. 차이점은 클라이언트 변수는 단순한 이름 = 값 쌍이어야하지만 사용자의 요청에 맞는 다른 저장 위치를 ​​가질 수도 있다는 점입니다. 귀하의 필요에 따라 "쿠키 저장 용량"을 통해 또는 데이터베이스 내에서 값을 브라우저에 저장하도록 선택할 수 있습니다. Coldfusion 관리자에서 클라이언트 변수를 저장하는 방법을 선택할 수 있습니다. 이러한 옵션 중 하나는 단순한 클러스터링에 필요한 특정 애플리케이션 서버 인스턴스의 스토리지를 이동시킵니다. 특정 값의 보안에별로 신경 쓰지 않으면 쿠키 기반을 선택하십시오. 데이터베이스가 중요한지 여부를 선택하십시오. 분명히 데이터베이스를 선택하면 모든 데이터베이스 서버가 동일한 데이터베이스를 가리 키도록 구성해야합니다.

편집

난 당신이 기존 응용 프로그램에 대해 얘기했다 몰랐어요. 그래, 그건 분명히 문제가 될거야. 이 경우 주어진 CFID와 CFToken (쿠키에서 읽음)을 클러스터의 특정 노드와 연결하도록 부하 분산 장치를 구성해야합니다. 이 방법은 "끈적임"은 최종 사용자에게 투명하며 세션 동안 지속됩니다.

편집

다시 한번, 귀하의 의견에 따라 - 엔터프라이즈 버전을 갖고 있기 때문에, 당신이 사용할 수있는 내장 된 해당 버전에서 제공하는 클러스터링. 그 기능을 논의하는 기사가 있습니다 - http://www.adobe.com/devnet/coldfusion/articles/clustering_cf8.html

"클러스터링 및 ColdFusion"섹션이 나타날 때까지 조금 아래로 스크롤하십시오 - 좋은 정보가 있습니다.

+0

전체 응용 프로그램은 실제로 옵션이 아닙니다. –

+0

위의 업데이트를 참조하십시오. –

+0

네,하지만 원래의 게시물은 SSL을 통한 세션이 SSL을 지원하지 않는다고 설명합니다. 그러나 2012 년 중반 경에 지원 될 것이라고 알았습니다 –