일부 Java 서버 호스팅을 위해 Google App Engine을 사용하는 것을 거의 고려하고 있지만 일부 문서를 읽는 동안 조금 문제가있는 것으로 나타났습니다. 필자가 작성한 서버와 내가 염두에두고있는 서버 중 대부분은 세션간에 지속되는 메모리 기반 저장소를 필요로하지만 GAE는 이러한 메커니즘을 제공하지 않는 것으로 보입니다.Google App Engine에서 메모리 기반 데이터 공유
데이터는 정적 개체로 저장할 수 있지만 앱은 여러 서버를 사용할 수 있으며 서버간에 데이터를 공유 할 수 없습니다.
공유되는 memcache가 있지만 캐시이므로 신뢰할 수 없습니다.
완벽하게 작동하지만 데이터가 너무 느립니다.
실제로 필요한 것은 모든 클라이언트 요청에 액세스 할 수 있고 일관성있는 고성능 (즉, 메모리 기반) 저장소입니다. 이 경우 데이터 저장소 앞에있는 특수 잠금 및 동기화 메커니즘을 제공하는 것입니다.
여기에는 기능상 큰 차이가있는 것으로 보입니다. 아니면 뭔가를 놓친 것일까 요?
의견이나 제안이 있으십니까?
당신이 요구하는 것은 실제로 확장 가능한 시스템에는 존재하지 않습니다. 적어도 디스크 검색만큼 오래 걸리지 않는 것은 무엇이든 상관 없습니다. 따라서 선택은 memcache와 같이 빠르고 신뢰할 수없고 데이터 저장소와 같이 느리고 안정적입니다. 하지만 세션 데이터를 저장하는 데 데이터 저장소가 너무 느려지는 이유는 무엇입니까? –
예, 실제로 이것이 확장 가능한 시스템에는 존재하지 않는다는 것이 맞지만, 실제로 필요한 "백엔드"(아래 참조)에 의해 실제로 제공됩니다. 나는 쿼리 당 수백 또는 수천 개의 데이터 객체에 잠금 정보를 저장하는 독점적 인 지속성 계층을 개발했습니다. 메모리 기반 솔루션을 사용하면 이것이 완벽하게 실현 가능하지만,이 데이터를 데이터 저장소에 기록하는 것은 너무 느립니다. – chris
왜 잠금을해야합니까? 당신이 달성하고자하는 것에 대해 우리에게 더 많이 말한다면 아마도 우리는 대안을 제안 할 수 있습니다. –