SORU
4 ŞUBAT 2012, CUMARTESİ


Redis, MongoDB veya Django ORM rabbitmq)ile kereviz kullanmanın avantajı nedir

Hız bir avantaj, işlevsellik avantajı var mı?

Ayrıca Django ORM (mysql) kullanarak, çok rabbitmq kullanarak daha yavaş, mongodb veya redis?

Şu anda webfaction hosting ve erland ve tavşan karışık, hem de ram biraz sürer okudum yorumlardan, bu yüzden sadece veritabanı ile çalışan kereviz ki yükleme daha akıllı bir seçenek olabilir İm? neden ya da neden değil?

CEVAP
7 ŞUBAT 2012, Salı


Bunun için kullanmak istediğiniz ne bağlıdır.

RabbitMQ önerilen çözüm ise, yaygın olarak dağıtılan, test edilmiş ve tüm özellikleri destekler. Optimize yapılandırma ile 15000 kalıcı görevler/s tek bir işlem ile işlem yapabilirsiniz. RabbitMQ de yönetim ve izleme çözümleri (tam açıklama: ben VMware de RabbitMQ ekibi ve Kereviz proje yapıyorum yol) ile çalışma ile birlikte gelir.

Redis de popüler bir seçenek, destekler hemen hemen tüm özellikleri, ama değil çok dayanıklı varsayılan yapılandırma, eğer Redis sunucu beklenmedik biçimde sonlandırıldı olabilir en kötü ihtimalle kaybeder dakika veri (http://redis.io/topics/persistence). Eğer celeryd örneği aniden öldürülse bile ekleme yalnızca veri bir şans var modu ile kaybı: bu Redis mesaj bildirimleri desteklemiyor çünkü. Biz çalışan bir yama taklit bu, ama bunu darbe performansı oldukça çok (ortalama zamanı olmalıdır. CELERYD_PREFETCH_MULTİPLİER=1 etkisini en aza indirmek için böyle bir veri kaybı senaryosu).

Veritabanı arka ucu aslında test amaçlı yapılmış, ama yine de üretiminde kullanılmaktadır. Veritabanı arka ucu da Kereviz monitör ve uzaktan kumanda komutları (celeryctl) çalışmaz yani olaylara destek ve yayın etmez. Yeterince küçük dağıtımlar için işe yarayabilir, ama eğer daha celeryd örnekleri ekleme ihtiyacı varsa başka bir seçenek seçmelisin. Ne yazık ki, veritabanları genellikle bu tür işler (gerçi 9 "Daha fazla", sonunda destek olabiliriz) uygun hale getirir. bu yeni özellikleri ile birlikte geliyor PostgreSQL için uygun değildir

MongoDB kendimi çok tecrübem yok, ama Kereviz arka uç kullanılıyor ve aktif olarak korunur (sadece son zamanlarda izleme için destek ve uzaktan kumanda desteği kazandı) biliyorum. Redis ile yukarıdaki söz ile aynı dayanıklılık sorunları var, ama hayal ediyorum.

Ayrıca Amazon YAZAR, Deve, CouchDB kullanma desteği vardır. Bu arka uç izleme ve uzaktan kumanda komutları desteklemez.

Kısacası; Kaybetme görevleri önemli değil, RabbitMQ kullanıyor olması gerekir. Veritabanı arka ucu düşük görev birimleri ve belki de iki celeryd örnekleri bir sorun.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DJAndrewRyan

    DJAndrewRyan

    22 Ocak 2007
  • Liberator

    Liberator

    14 EYLÜL 2007
  • Sean Murphy

    Sean Murphy

    4 ŞUBAT 2009