2010-02-03 45 views
12

Selamlar! C/C++ 'da libevent kullanarak oldukça ölçeklenebilir bir HTTP olayı (uzun sorgulama) sunucusu yazdım. Ancak, bu, neredeyse taşınabilir, dağınık ve yüzleşmek sağlar: C. mysqlcpp bağlayıcı (tam bir çöp kutusu) ve bazı küçük sorunlar ile ilgili bazı önemli sorunlar yaşıyorum (Ben çünkü olabilir çünkü ben) 2.0.1 alfa kullanıyorum. Olay sunucusu C/C++ ve gerçek arka uç, gerekirse (yani yeni bir olay varsa) vuracağım PHP-fpm'dir. Tüm proxy/cgi yönlendirme nginx aracılığıyla yapılır.İskele ne kadar ölçeklenebilir?

Java'da her şeyi (olay sunucusu ve arka uç) yeniden yazmayı tartışıyorum - ön uç için PHP'yi kullanmayı seviyorum. Jetty hakkında pek çok iyi şey duydum, ama merak ediyorum ki, Jetty arka planında çalışan gerçek dünyadaki çok eşzamanlı uygulamaların dağıtımını yapan birinin deneyimi var mı? Eğer öyleyse, bir HTTP libevent implentation veya eşdeğer Erlang ve Python sunucu kütüphaneleri ile karşılaştırıldığında nasıl biriktirilir?

apachebench test sonuçları ile ilgilenmiyorum lütfen bu yüzden lütfen bağlantıyı linke atmayın.eşzamanlılık ve ölçeklenebilirlik ile ilgileniyorum.

Herhangi bir fikir için teşekkür ederiz.

cevap

12

Jetty'nin uzun zamandır bir süredir kullandık ve onunla oldukça mutlu olduk. Yine de Jetty geliştiricileri tarafından gösterildiği gibi hiçbir zaman 10K+ concurrent users'a yakın değildik. Bununla birlikte, 300-400 eşzamanlı Cometd bağlantılarının ek yükü, düşük uçlu sunucularımızda neredeyse hiç fark edilmedi. Başka bir makalede clustering of Jetty and Cometd using Terracotta (başka bir harika yazılım parçası) açıklanmaktadır.

+0

Tam olarak bilmem gerekenler. Teşekkür ederim! –