문제

아주 작고 빠르고 더러운 사이드 프로젝트를 찾고 있습니다.Google App Engine이 Django가 내장된 Python에서 실행된다는 사실이 마음에 듭니다. 그 플랫폼을 사용해 볼 이유가 생겼습니다.하지만 내 질문은 이렇습니다.

장난감 문제가 아닌 다른 목적으로 앱 엔진을 사용한 사람이 있나요?좋은 예시 앱이 몇 개 있어서 실제 거래에는 충분하다고 생각하지만 피드백을 받고 싶었습니다.

다른 성공/실패 메모도 좋을 것입니다.

도움이 되었습니까?

해결책

작은 지진 감시 애플리케이션을 위해 앱 엔진을 사용해 보았습니다.http://quakewatch.appspot.com/

내 목적은 앱 엔진의 기능을 확인하는 것이었으므로 주요 사항은 다음과 같습니다.

  1. 그것은 django와 함께 기본적으로 제공되지 않으며, 자체 웹 프레임 워크가있는 Pythonic에는 Django와 같은 URL 디스패처가 있으며 Django 템플릿을 사용하므로 Django Exp가있는 경우 Django 템플릿을 사용합니다.당신은 사용하기 쉽다는 것을 알게 될 것입니다
  2. 서버에서 장기적으로 실행되는 프로세스를 실행할 수 없습니다. 귀하가하는 일은 요청에 대한 답장을하고 빠른 방법이라면 Appengine이 사망하므로 앱이 많은 백엔드 처리 Appengine이 가장 좋은 방법이 아니라고 처리해야합니다. 그렇지 않으면 처리를 수행해야합니다. 자신의 서버에서
  3. 내 QuakeWatch 앱에는 구독 기능이 있습니다. 즉, 최신 쿼크가 생겨야 할 때 이메일을 보내야한다는 것을 의미하지만 App Engine에서 백그라운드 프로세스를 실행하여 새로운 Quakes 솔루션을 모니터링 할 수는 없습니다. 페이지 중 하나에 연결하고 구독 이메일을 실행하지만 여기에서는 여기에 많은 시간을 보내거나 여러 조각으로 작업을 중단하지 않도록주의해야합니다.
  4. Django와 같은 모델링 기능을 제공하지만 백엔드는 완전히 다르지만 새 프로젝트의 경우 중요하지 않습니다.

하지만 전반적으로 백그라운드 처리가 많이 필요하지 않은 앱을 만드는 데는 탁월하다고 생각합니다.

편집하다:지금 작업 대기열 일괄 처리 또는 예약된 작업을 실행하는 데 사용할 수 있습니다.

편집하다:1년 동안 GAE에서 실제 애플리케이션을 작업/생성한 후, 이제 내 생각은 수백만 명의 사용자로 확장해야 하는 애플리케이션을 만드는 것이 아니라면 GAE를 사용하지 않는 것입니다.GAE에서 사소한 작업을 유지하고 수행하는 것은 분산 특성으로 인해 골치 아픈 작업입니다. 마감일 초과 오류를 방지하고 엔터티를 계산하거나 복잡한 쿼리를 수행하려면 복잡한 코드가 필요하므로 작고 복잡한 애플리케이션은 LAMP를 고수해야 합니다.

편집하다:동일한 항목 그룹의 항목만 트랜잭션에 사용될 수 있고 서로 다른 두 그룹을 업데이트하는 프로세스가 악몽이 되기 때문에 모델은 향후에 원하는 모든 트랜잭션을 고려하여 특별히 설계되어야 합니다.거래에서 user1에서 user2로 자금을 이체하는 것은 동일한 항목 그룹에 속하지 않는 한 불가능하지만, 동일한 항목 그룹으로 만드는 것은 빈번한 업데이트 목적에 적합하지 않을 수 있습니다....이것을 읽어보세요 http://blog.notdot.net/2009/9/Distributed-Transactions-on-App-Engine

다른 팁

저는 GAE를 사용하여 트래픽이 많은 여러 애플리케이션을 호스팅하고 있습니다.50-100 req/sec 정도입니다.훌륭합니다. 충분히 추천할 수 없습니다.

나의 이전 웹 개발 경험은 Ruby(Rails/Merb)였습니다.파이썬을 배우는 것은 쉬웠습니다.나는 Django나 Pylons 또는 다른 프레임워크를 다루지 않고 단지 GAE 예제에서 시작하여 제공된 기본 웹앱 라이브러리에서 필요한 것을 구축했습니다.

SQL의 유연성에 익숙하다면 데이터 저장소에 익숙해지는 데 시간이 걸릴 수 있습니다.너무 충격적인 것은 없습니다!가장 큰 조정은 JOIN에서 벗어나는 것입니다.정규화가 중요하다는 생각을 버려야 합니다.

제가 Google App Engine을 사용하게 된 가장 큰 이유 중 하나는 도메인용 Google Apps와의 통합입니다.기본적으로 도메인의 (통제된) 로그인으로 제한되는 사용자 정의 관리형 웹 애플리케이션을 생성할 수 있습니다.

이 코드에 대한 나의 경험의 대부분은 간단한 시간/작업 추적 애플리케이션을 구축하는 것이었습니다.템플릿 엔진은 단순하면서도 다중 페이지 애플리케이션을 매우 접근하기 쉽게 만들었습니다.로그인/사용자 인식 API도 비슷하게 유용합니다.큰 문제 없이 공개 페이지/비공개 페이지 패러다임을 만들 수 있었습니다.(사용자는 개인 페이지를 보기 위해 로그인합니다.익명 사용자에게는 공개 페이지만 표시되었습니다.)

나는 "실제 작업"을 위해 빠져나왔을 때 프로젝트의 데이터 저장소 부분에 막 들어가고 있었습니다.

나는 아주 짧은 시간 안에 많은 것을 성취할 수 있었습니다(아직 완성되지 않았습니다).이전에 Python을 사용해 본 적이 없었기 때문에 이것은 특히 즐거웠습니다(두 가지 모두 나에게 새로운 언어였고, 새로운 언어에도 불구하고 여전히 개발 속도가 빨랐기 때문입니다).나는 내 임무를 완수할 수 없을 것이라고 믿게 만드는 일을 거의 겪지 않았습니다.대신에 나는 기능과 특징에 대해 상당히 긍정적인 인상을 받았습니다.

그것이 나의 경험입니다.아마도 이는 미완성된 장난감 프로젝트 이상을 나타내지는 않지만 플랫폼에 대한 정보를 바탕으로 한 시험판을 나타내므로 도움이 되기를 바랍니다.

"Django를 실행하는 App Engine" 아이디어는 약간 오해의 소지가 있습니다.App Engine은 전체 Django 모델 계층을 대체하므로 데이터를 모델링하고 생각하는 다른 방식이 필요한 App Engine의 데이터 저장소에 적응하는 데 시간을 투자할 준비를 하세요.

GAE를 사용하여 빌드했습니다. http://www.muspy.com

장난감 프로젝트보다 조금 더 크지만 지나치게 복잡하지는 않습니다.나는 여전히 Google이 해결해야 할 몇 가지 문제에 의존하고 있지만 웹 사이트를 전반적으로 개발하는 것은 즐거운 경험이었습니다.

호스팅 문제, 서버 관리 등을 다루고 싶지 않다면 확실히 추천할 수 있습니다.특히 Python과 Django를 이미 알고 있다면 더욱 그렇습니다.

현재로서는 소규모 프로젝트에 App Engine이 매우 유용하다고 생각합니다.호스팅에 대해 걱정할 필요가 없다는 점에서 할 말이 많습니다.또한 API는 확장 가능한 앱을 구축하는 방향으로 나아가도록 안내하며 이는 좋은 습관입니다.

  • 앱 엔진 패치 Django와 App Engine 사이의 좋은 레이어로, 인증 앱 등을 사용할 수 있습니다.
  • Google은 2008년 말까지 SLA 및 가격 모델을 제공하겠다고 약속했습니다.
  • 요청은 10초 안에 완료되어야 하며, 웹 서비스에 대한 하위 요청은 5초 안에 완료되어야 합니다.이로 인해 빠르고 가벼운 애플리케이션을 설계하고 심각한 처리 작업을 다른 플랫폼(예:호스팅 서비스 또는 EC2 인스턴스).
  • 더 많은 언어가 곧 제공될 예정입니다!Google은 어느 쪽인지 말하지 않을 것입니다 :-).내 돈은 다음 Java에 있습니다.

이 질문에 대한 답변이 완전히 완료되었습니다.어느 것이 좋니.그러나 아마도 언급할 가치가 있는 한 가지가 있을 것입니다.Google 앱 엔진에는 작업하기 좋은 Eclipse IDE용 플러그인이 있습니다.

이미 Eclipse로 개발을 수행하고 있다면 그것에 대해 매우 기뻐할 것입니다.

Google 앱 엔진 웹사이트에 배포하려면 비행기 로고가 있는 작은 버튼 하나만 클릭하면 됩니다.

다음을 살펴보세요. SQL 게임, 매우 안정적이며 실제로 한 지점에서 트래픽 제한을 밀어서 Google에 의해 제한되었습니다.다른 사람이 완전히 제어하는 ​​서버에서 귀하의 앱을 호스팅하는 것 외에는 App Engine에 대한 좋은 소식만 보았습니다.

저는 GAE를 사용하여 일부 매개변수, 형식을 허용하고 이메일을 보내는 간단한 애플리케이션을 구축했습니다.매우 간단하고 빨랐습니다.또한 GAE 데이터 저장소 및 Memcache 서비스에 대한 몇 가지 성능 벤치마크를 만들었습니다(http://dbaspects.blogspot.com/2010/01/memcache-vs-datastore-on-google-app.html ).그렇게 빠르지는 않습니다.제 생각에는 GAE가 특정 방법론을 시행하는 진지한 플랫폼이라고 생각합니다.나쁜 관행이 용납되지 않는 진정한 확장형 플랫폼으로 발전할 것이라고 생각합니다.

플래시 게임 사이트에 GAE를 사용했는데, 수염 게임.GAE는 훌륭한 플랫폼입니다.저는 예전 PHP보다 훨씬 쉬운 Django 템플릿을 사용했습니다.훌륭한 관리 패널이 함께 제공되며 정말 좋은 로그를 제공합니다.데이터 저장소는 MySQL과 같은 데이터베이스와 다르지만 작업하기가 훨씬 쉽습니다.사이트 구축은 쉽고 간단했으며 사이트에 유용한 조언이 많이 있습니다.

저는 GAE와 Django를 사용하여 Facebook 애플리케이션을 구축했습니다.나는 사용했다 http://code.google.com/p/app-engine-patch Django 1.1을 지원하므로 출발점으로 삼았습니다.나는 Manage.py 명령이 작동하지 않을 것이라고 생각했기 때문에 어떤 명령도 사용하지 않았지만 살펴보지도 않았습니다.이 애플리케이션에는 세 가지 모델이 있고 pyfacebook도 사용했지만 그만큼 복잡했습니다.저는 훨씬 더 복잡한 애플리케이션을 구축하는 중입니다. 이에 대해 블로그에 올리기 시작했습니다. http://brianyamabe.com.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top