2012-01-10 9 views
5

Muhtemelen bana yardımcı olacak güzel bir belge var. Lütfen ona dikkat edin.Python için sertleştirilmiş bir Thrift sunucusunu nasıl dağıtıyorsunuz?

Python kullanarak bir Thrift sunucusu yazıyorsam, bir üretim ortamında dağıtmanın en iyi yolu nedir? Tek bulabildiğim, dağıtımla birlikte gelen Python tabanlı sunucuların kullanılmasının örnekleridir. Apache'yi sunucu platformu olarak nasıl kullanabilirim? Kalıcı bağlantıları destekleyecek mi?

Şimdiden teşekkürler.

cevap

1

Nginx sunucusunu işaret etmek için upstream modülünü kullanarak onu dağıtabileceğinizi okudum. Tasarruflu sunucu başına en az bir CPU çekirdeği olmalı ve sistem için bir tane bırakılmış olmalıdır (örneğin, dört çekirdekli ise, yalnızca sistem için bir tane sola dönecek şekilde 3 adet tasarruf sunucusu çalıştırmalısınız).

+0

Bunu nereden okudunuz, lütfen? –

+0

Hatırlamıyorum, sadece bu sayfaya yer işareti koydum: http://wiki.nginx.org/HttpUpstreamModule. Zaten tek bir iş parçacığı sunucusu çalıştırdığınızı varsayalım. Bir forking/threaded sunucusu kullanırsanız, zaten daha fazla istemciyle başa çıkabilir. –

+0

Apache gibi bir şey kullanmak istiyorum çünkü bir şeyler ters giderse iplikleri ve işlemleri yeniden başlatmak için hükümler var. Yukarı akış modülü buna yardımcı olmaz, bence. Diğer fikirler? –

1

Python THttpServer'ı kullandığınızı kabul ediyorum. birkaç not:

1) Orada Bu sınıf değil çok performanslısı " ""

okuması kodda bir yorumdur, ama örneğin (kullanışlıdır) için sahte bir versiyonu olarak davranan Bir Apache tabanlı PHP Thrift uç noktasının değeri "" "

Performansı önemsiyorsanız, bunu üretimde kullanmanızı tavsiye etmem. Bu kodu biraz okuduktan sonra, seçeceğiniz farklı bir HTTP sunucusunu kullanarak uygulamanın yeniden uygulanmasının oldukça kolay olduğunu göreceksiniz. Python ekosisteminde bir dizi iyi seçenek var. 2) Ayrıca kodu okursanız, Thrift HTTP sunucularının normal eski HTTP sunucuları olduğunu göreceksiniz. Tek bir yol üzerindeki tüm trafiği kabul ederler (varsayılan olarak '/') ve iletinin kendisine kodlanmış yönlendirme bilgisini (Thrift "processor" yapısını kullanarak) okuyarak mesajı uygun yönteme yönlendirirler. Apache/nginx/whatever öğesini normal şekilde ayarlayabilmeniz ve tüm trafiği, üzerinde çalıştığınız ana bilgisayar ve bağlantı noktasında '/' olarak yönlendirebilmeniz gerekir.