2010-01-28 2 views
4

공통 데이터베이스를 공유하는 두 개의 ColdFusion 응용 프로그램이 있습니다. 각 응용 프로그램에는 세 가지 인스턴스가 있습니다. 각 응용 프로그램의 한 인스턴스는 세 개의 서버에서 실행됩니다.여러 ColdFusion 응용 프로그램이 동일한 클라이언트 변수 저장소를 사용하는 것이 좋지 않습니까?

주어진 응용 프로그램의 세 인스턴스가 클라이언트 변수 저장소를 공유해야합니다. 로드 균형 조정을 통해 단일 사용자 세션이 세 인스턴스간에 바운스 될 수 있습니다. 내 질문 : 의 모든 인스턴스가 모두 응용 프로그램이 동일한 데이터 저장소를 공유하는 데 위험이 있습니까? 또는 하나의 응용 프로그램 만 주어진 데이터 저장소를 가리켜 야합니까?

답변

5

동일한 클라이언트 데이터 저장소를 사용할 수 있습니다. CDATA 테이블에는 coldfusion 응용 프로그램 이름을 저장하는 'app'열이 있습니다. 해당 열은 데이터를 각 애플리케이션마다 고유하게 유지합니다.

2

동일한 클라이언트 변수 저장소에서 모두 가리키는 동일한 서버에서 실행되는 여러 CF 응용 프로그램을 사용하는 엔터프라이즈 급 ColdFusion 상점에서 일하고 있습니다. 조직 내 유일한 관심사는 클라이언트 변수 저장소가 정기적 인 백업에 어떤 영향을 미치는지, 그리고 데이터 저장소의 범위에 해당되는지 여부입니다. 실제로 동일한 클라이언트 변수 저장소를 사용하는 여러 앱에 문제가 없습니다.

-2

동일한 데이터 저장소를 공유하는 여러 응용 프로그램이 한 응용 프로그램의 사용자가 다른 응용 프로그램에 액세스 할 가능성을 열어 놓았을 것이라고 생각합니다. 가능성은 낮지 만 일 수 있습니다. (나는 그 사실을 뒷받침 할 사실이 없다. 단지 논리적 인 결론처럼 보인다.)

질문은 당신이 그 가능성에 편안합니까 아니면 각 응용 프로그램이 안전한지 절대적으로 확인해야합니까?

+0

정말요? 나는 그것을 뒷받침 할 사실이 없다는 것을 표명하고 의견을 표명하고 나는 아래 표를 얻는다. 이런 젠장! –

1

관련은 ColdFusion documentation에서 :

일부 브라우저 만 20 쿠키가 특정 호스트에서 설정할 수 있습니다. ColdFusion은 이러한 쿠키 CFID 및 CFTOKEN 식별자에 대한 , 또한 두는 HitCount, TimeCreated 및 LastVisit로, 글로벌 데이터에 대한 클라이언트를 개최 cfglobals라는 이름의 쿠키를 만들어 사용합니다. 이 은 클라이언트 - 호스트 쌍당 17 개의 고유 응용 프로그램 으로 제한합니다.

실제로이 응용 프로그램은 실제로 동일한 응용 프로그램 데이터 저장소를 공유하는지 여부가 아닌 실제로 실행되는 응용 프로그램의 개수를 더 많이 추측합니다. 그러나 전체 클라이언트 수에 대해 어떤 종류의 하드 제한이있을 수 있습니다. 16 개 이상의 앱을 계획하고 있다면 호스트간에 분할 (또는 다른 도메인 이름 사용)하는 것이 좋습니다.

에릭이 설명한 것처럼 하나의 데이터 소스에서 여러 앱을 실행하는 것이 좋습니다. 나는 당신이 거미와 검색 엔진을 사용하는 것을 막지 않도록 조심하지 않으면이 데이터베이스가 빠르게 채워질 수 있다고 경고 할 것입니다. CF는 새로운 세션에 대한 각 요청마다 클라이언트 변수를 생성하기 때문에 검색 엔진은 새로운 클라이언트 변수 집합이 필요한 새 사용자라고 CF가 판단하기 때문에 오래된 자격 증명/쿠키를 보내지 않으므로 매번 새로운 것을 가져옵니다. 또한 CF admin에서 "전역 클라이언트 변수 업데이트 사용 안함"을 반드시 확인하십시오. 이렇게하면 많은 불필요한 오버 헤드를 줄일 수 있습니다.

관련 문제