bottle
pdf、picture、exeなどのバイナリファイルを認証付きで提供するPythonWebサービスを作成したいと思います。
ボトルを使用してこのすべてのファイルを提供することは可能ですか?そのためのチュートリアルを見つけるのに苦労しています。
どうperformance
ですか?ボトルPythonは数十万のダウンロードを同時に処理しますか?
で使用する予定ですnginx
uwsgi
。
ボトルを使用してこれらのファイルを提供することは間違いなく可能です。それらを静的ファイルとして提供するだけです。認証に関しては、ボトルに認証サポートが付いているとは思いません(私が知る限り)。ただし、パフォーマンスに関しては、これは実際にどのように展開するかに依存する領域です。各リクエストが独自の通常のスレッドを取得する通常のスレッド環境では、サーバーが同時に数十万のリクエストを快適に処理できるかどうかは非常に疑わしいです。ただし、greenlets
この問題を解決できる可能性があることがドキュメントに記載されています。
ボトル静的ファイルの提供:http://bottlepy.org/docs/dev/tutorial.html#routing-static-files
ボトルグリーンレット:http://bottlepy.org/docs/dev/async.html#greenlets-to-the-rescue
お急ぎでない場合は、uWSGI 1.9(まだ開発中ですが、最初の安定したリリースは10日以内にリリースされます)を試して、offload-threads = n(CPUの数に設定)を使用することをお勧めします。このようにして、アプリからファイルを送信すると、別のスレッドによって非同期(および非ブロッキング)で処理され、突然ワーカーが解放されます。オフロードは1.4でも利用できますが、1.9のようにアプリでは自動ではありません