2012-06-04 4 views
0

java-appengine을 백엔드로 사용하여 온라인 게임을 만듭니다. // 내 게임 websocket을 사용하여 채널 API를 사용하십시오. 하지만 일부 객체는 응용 프로그램에서 지속성을 유지해야합니다.appengine에서 게임 데이터 저장 방법을 찾으십시오. java

  • 정적 객체는 좋지만 인스턴스를 시작 스톱이 때문에 애플리케이션 엔진에 나쁜입니다 을 관리 할 수있다
  • - Memcache를은 (그것을 결코하지 않습니다 방식으로 한 특급 때 통제 할 수없는, 동일 특급)
  • - 데이터 저장소는 veryslow과 비용이

내가 솔루션에서 appengine 자바에 게임 오브젝트를 저장 찾고

답변

1

백엔드에서 실행할 수는 있지만 실제로는 확장되지 않습니다.

App Engine이 실제로 게임을 만들기 위해 사용하려는 플랫폼인지 확인해야 할 것입니다. 데이터 저장소의 성능이 문제를 해결하지 못하면 다른 아키텍처가 필요할 것입니다. 대부분의 경우 전통적인 클라이언트/서버 아키텍처가 필요합니다.

게임 아키텍처에 대한 더 이상의 정보가 없어도 질문에 대답하기가 어렵습니다.

+0

죄송합니다. // websocket을 사용하는 내 게임, 채널 API 사용 –

0

Memcached는 가야 할 길입니다. 제어 할 수는 없지만 앱 엔진을 사용하려면 타협이 필요합니다. Memcache에 대한 파이썬의 경험은 대부분 인스턴스가 캐시를 실행하는 동안 유효합니다. 가까운 인스턴스 사이에서도 모든 것을 자주 만료하는 것 같지 않습니다. 로그를 확인할 때 인스턴스 사이에 상당한 시간 (시간 +)이있을 때 만 만료 된 개체를 만드는 Memcache 만 볼 수 있습니다.

자바와 파이썬 모두에서 코드를 프로파일 링해야합니다. 파이썬의 빠른 시작 시간이 어플리케이션에 더 적합 할 수 있습니다. 또는 java를 사용해야하는 경우 시작 지연없이 요청을 처리 할 수 ​​있도록 여러 유휴 인스턴스를 유지하려고 할 수 있습니다. Cron 작업을 사용하여 memcache를 신선한 상태로 유지할 수 있습니다. 아직 시도하지 않은 코드는 일반적으로 내 코드가 그렇게 민감하지 않으므로.

관련 문제