2012-01-10 5 views
5

おそらく私に役立つ素晴らしい文書があります。それを指摘してください。python用に強化されたThriftサーバーを展開する方法は?

私がPythonを使用してThriftサーバーを作成した場合、それを運用環境で展開する最良の方法は何ですか?私が見つけることができるのは、配布物に付属するPythonベースのサーバーを使用する例です。たとえば、Apacheをサーバープラットフォームとして使用するにはどうすればよいですか?永続的な接続をサポートしますか?

ありがとうございます。

答えて

1

アップストリームモジュールを使用してリフトサーバーを指すようにnginxの背後に配置することができます。スリフトサーバごとに少なくとも1つのCPUコアが必要です。システムに残っているCPUコアが1つ必要です(つまり、クアッドコアを使用している場合は、スリーリフトサーバを3つだけ実行し、残りの1つはシステムに残してください)。

+0

あなたはそれをお読みになりましたか? –

+0

私は覚えていない、私はこのページをブックマークした:http://wiki.nginx.org/HttpUpstreamModule。とにかく、あなたはシングルスレッドサーバーを実行していると仮定します。フォーク/スレッドサーバーを使用する場合は、とにかく多くのクライアントを処理できます。 –

+0

私は何かがうまくいかない場合に備えてスレッドやプロセスを再起動するための準備があるので、Apacheのようなものを使いたいと思います。上流のモジュールはこれを助けませんと思います。他のアイデア? –

1

あなたはPython THttpServerを使用していると仮定しますか?ノートのカップル:

1)

を読み取るコードのコメント「」」 このクラスは非常にパフォーマンスではありませんが、それは モックバージョンとして作用する)は、例えば(便利ですがありますApacheベースのPHP Thriftエンドポイントを使用しています。 "" "

パフォーマンスを気にする人は、本番環境で使用することはお勧めしません。このコードを少し読めば、選択した別のHTTPサーバーを使って簡単に再実装できることがわかります。 Pythonエコシステムには多くの良いオプションがあります。

2)また、コードを読んだ場合、Thrift HTTPサーバーは通常の古いHTTPサーバーであることがわかります。彼らは、単一のパス(デフォルトでは '/')上のすべてのトラフィックを受け入れ、メッセージ自体にエンコードされたルーティング情報を読み取ることによって適切な方法にメッセージを誘導します(Thrift "processor"構造を使用します)。あなたはApache/nginx /をどんな方法でも設定でき、実行中のホストとポート上のすべてのトラフィックを単に '/'に転送することができます。

関連する問題