2009-09-19 7 views
0

저는 PyAMF를 사용하여 클라이언트가 필요로하는 내용에 따라 수백 개의 다른 이미지 그룹을 요청하는 플렉스 앱용 백엔드를 작성했습니다. 나는 flex_code를 개발할 때 PyAMF가 제공하는 "simple_server"WSGI 서버를 사용 해왔다. 이제는 mySQL 데이터베이스에서 이미지를 가져 와서 가능한 한 빨리 효율적으로 많은 동시 클라이언트에 보낼 수있는 강력한 백엔드를 작성할 준비가되었습니다.PyAMF 백엔드 선택!

PyAMF 문서는 많은 예제를 제공하기 때문에 훌륭하지만, 내가 만들려고하는 백엔드의 종류에 대해 혼란스러워합니다.

SocketServer 또는 WSGI 서버 또는 Twisted 또는 web2py 또는 Tornado와 같은 것을 원하십니까? 이것들도 모두 다른가요? :) 대신 Apache 모듈 (mod_wsgi 또는 modjy 또는 mod_python)을 사용해야합니까?

나는 이것이 공개 토론에 많은 영향을 미친다는 것을 알고 있습니다. 그렇기 때문에이 논쟁에 대한 좋은 요약을 가르쳐 주시겠습니까?

많은 옵션을 제공하는 것이 좋지만 선택할 수있는 방법은 무엇입니까?

답변

0

짧은 답변은 물론 프로젝트의 요구 사항에 달려 있습니다. 얼마나 많은 동시 연결이 "많이"있습니까? 얼마나 많은 프로그래머가 문제를 해결할 수 있습니까? 문제 발생시 하드웨어 용량은 얼마나됩니까? ... 등 ...

동시 클라이언트가 많을 경우 Python 세계에서 Twisted를 깨는 것이 어렵습니다. 그러나 차단을 피하기 위해 데이터베이스를 비동기 적으로 처리해야하며 데이터베이스 상호 작용이 얼마나 복잡한 지에 따라 약간의 어려움이있을 수 있습니다. 기본적으로 twisted.enterprise.adbapi를 사용하거나 자신의 twisted-ORM 통합을 사용하는 것으로 제한됩니다.

"용이 한"데이터베이스 코드 (ORM을 사용하려는 경우)가 좋으면 Apache 및 mod_wsgi를 사용하여 호스팅되는 (TurboGears/Pylons/plain wsgi) 프로젝트를 사용하는 것이 좋습니다. 이것은 꽤 확장 가능한 솔루션이 될 수 있으며 이러한 프레임 워크를 사용하여 무료로 많은 것을 얻을 수 있지만 필요 이상의 것일 수 있습니다.

정말 고성능을 원한다면 많은 일반 파이썬 wsgi 서버 (wsgiref, paster 등)를 프로덕션 환경에서 사용하지 마십시오.

행운을 빌어 요!