SORU
16 AĞUSTOS 2010, PAZARTESİ


Node.js ve CPU yoğun istekleri

Node.js server HTTP ve gerçekten sunucu tarafında Javascript yazmak gibi ayırmaya başladım ama bir şey benim web uygulaması için node.js kullanmaya başlamadan beni tutuyor.

O kavramı ben/her zaman uyumsuz anlıyorum ama prosedür kod çok CPU görüntü işleme gibi yoğun ya da büyük veri kümelerini sıralama bulunduğu kenar durumlar hakkında biraz endişeliyim.

Anladığım kadarıyla, sunucu kullanıcıların listesini görüntüleme ya da bir blog yazısı görüntüleme gibi basit bir web sayfası isteklerini çok hızlı olacaktır. Ancak, eğer yazmak istediğimi çok CPU yoğun kod (yönetici arka uç için örnek) oluşturur grafik veya yeniden boyutlandırır binlerce resim, istek olacak çok yavaş (birkaç saniye). Bu kod değil uyumsuz olduğu için, her istekleri o birkaç saniye boyunca sunucuya geliyor yavaş benim istek tamamlanana kadar bloke olacak.

Bir önerim İŞLEMCİ yoğun görevler için Web İşçileri kullanmak olmuştur. Ancak, web işçi çalışıyor beri zor temiz kod yazmak ayrı bir JS dosyası da dahil olmak üzere yapacak diye korkuyorum. Eğer CPU yoğun kod bir nesne yöntemi içinde yer alıyorsa? Biraz CPU yoğun olduğunu her yöntem için JS dosyası yazmak için berbat bir durum.

Başka bir öneri çocuk bir işlem spawn, ancak bu kodu daha sürdürülebilir hale getirir.

Bunun üstesinden gelmek için öneriler (algılanan) herhangi bir engel? Ne kadar ağır görevleri zaman uyumsuz yürütülür CPU emin yaparken node.js temiz nesne yönelimli kod yazmak mı?

CEVAP
16 AĞUSTOS 2010, PAZARTESİ


Bu sadece "" müşterilerle konuşmak için kullanılmalıdır web tanımının yanlış anlama Ağır yük görevler tek başına bir program (tabii ki bu da JS ile yazılmış olabilir) temsilci olmalıdır.
Edersin belki de o kirli, ama sizi temin ederim Bu bir web sunucu işlemi sıkışmış görüntüleri yeniden boyutlandırma sadece daha kötü (hatta diyelim ki Apache, zaman değil blok diğer sorgular). Yine de, ortak bir kütüphane kod fazlalık önlemek için kullanabilirsiniz.

EDİT: bir benzetme yaptım; bir web uygulama restoran gibi olmalıdır. Garsonlar (web server) ve aşçılar (işçi) var. Garsonlar müşterilerle iletişim halindedir ve menü vermeden veya bazı çanak vejetaryen olup olmadığının açıklanması gibi basit görevleri yapmak. Diğer yandan onlar mutfağa zor görev dağılımı. Garsonlar sadece basit şeyler yapıyor çünkü onlar hızlı yanıt ve aşçılar kendi işinize konsantre olun.

Node.js burada çoğu zaman istekleri işleme tek ama çok yetenekli bir garson olacak, ve Apache sadece bir istek, her işlem bu kadar aptal garsonlar bir çete olurdu. Eğer bu bir node.js garson pişirmeye başlar, hemen bir felaket olurdu. Yine de, yemek de bile Apaçi garsonlar, mutfakta kaos ve responsitivity ilerici azalma söz değil, büyük bir tedarik tüketebileceği.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ben Vivona

    Ben Vivona

    24 Ocak 2010
  • CNET

    CNET

    5 Mayıs 2006
  • Tire Rack

    Tire Rack

    31 Mayıs 2007