2014-10-15 3 views
2

저는 파이썬에서 WSGI for REST API를 배웠습니다. Lighttpd + FastCGI로 작업 설정을했습니다.프로덕션을위한 독립형 WSGI 서버

그러나이 경로는 API 서비스 전용으로 사용됩니다. 정적 콘텐츠는 콘텐츠 전송 네트워크를 통해 전달되며 모든 웹 사이트는 API에 대한 REST 클라이언트로 설정할 수 있습니다.

Python WGSI 서버가 너무 많습니다. 파이썬, 모든 WSGI 모듈, 프레임 워크, 내 개가 포함 된 것 외에는 거의 보편적으로 "개발 용으로 사용하지만 적절한 생산 품질의 WSGI 스택을 사용할 수도 있습니다."

파이썬 붙여 넣기는 유망 해 보이지만 실제로 안정적이며 기존의 web.py + arm-of-modules 프레임 워크를 너무 많이 복제합니까?

내 주요 기준은 다음과 같습니다

  • 안정성. 나는 내가 구성하고 걱정할 수있는 무언가를 원한다.
  • 보안. 보안 구멍을 도입하지 마십시오.
  • 성능 : 충분히 잘 수행해야합니다. WSGI 서버가 초당 수 백 건의 요청을 처리한다는 것을 벤치 마크에서 볼 수 있습니다. 따라서 WSGI 서버가 비정상적으로 느린 것이 아니라면이 요청이 예상되지 않습니다. 발행물.

대용량 환경에서 WSGI 서버의 다른면을 염려해야합니까?

답변

1

매우 중요한 제작 환경에서 사용 된 Gunicorn을 보았을 때 가장 좋은 선택 일 것입니다. 또한 비동기 비 블로킹 서버 및 클라이언트를 신속하게 생성하는 데 사용할 수있는 파이썬 네트워크 라이브러리 인 netius에 대해 뻔뻔한 플러그를 사용할 수 있습니다. 그것은 상호 의존성이 없으며, 크로스 플랫폼이며, 생산 준비가 완료된 WSGI 서버와 같은 몇 가지 샘플 netius 구동 서버를 즉시 제공합니다. 상당한 부하로 업무에 필수적인 SaaS 서비스에 사용하더라도 많은 사람들이 사용해온 프로젝트를 추천 할 수는 없지만 특히 이점은 코드베이스가 작기 때문에, 엄격하게 구조화되고 광범위하게 주석 처리되므로 보안을 위해 쉽게 감사 할 수 있습니다.

+0

제가 살펴 보겠습니다 ...하지만 WSGI가 서버가 비동기가되지 못하게합니다!? –

+0

파이썬의 기본 라이브러리는 주로 동기 기반 (파일 IO 등)이지만 WSGI에는 비동기 기반 구현을 방해하는 요소가 없습니다. – joamag

+0

이 기사에서는 WSGI에서 비동기 처리를 구현하는 데 필요한 트릭을 처리하는 방법을 설명합니다. http://bottlepy.org/docs/dev/async.html – joamag