2010-10-20 35 views

cevap

12

Bir web sunucusu eşzamanlı bağlantı işlemek gerekiyor. Bunu yapmanın birçok yolu vardır, bunların bazıları şunlardır:

  • Bağlantı başına bir işlem.
  • Bağlantı başına bir işlem ve kullanıma hazır bir işlem havuzuna sahip.
  • Bağlantı başına bir iş parçacığı.
  • Bağlantı başına bir iş parçacığı ve kullanıma hazır bir iş parçacığı havuzuna sahip.
  • Tek bir işlem, her olayı (kabul edilen bağlantı, okunabilir veri, istemciye yazabilir, ...) bir geri çağrı üzerinde ele alır.
  • Yukarıdaki bazı kombinasyonlar.
  • ... sonunda

, ayrım (örtük olarak devamında, dolaylı yığınında, açık bir şekilde, bir içerik yapısında, ...) her bir bağlantı durumunu saklamak nasıl biter ve Bağlantılar arasında nasıl zamanlama yapacağınız (OS zamanlayıcısının bunu yapmasına izin verin, OS sorgulama ilkellerinin bunu yapmasına izin verin ...).

1

Olaya dayalı bir şekilde C10K Sorunu çözmeyi amaçlar. Engellemeyen bir G/Ç oluşturmak için geleneksel 'itme modelini' bir çekme modeli 'haline getirir. Basitçe ifade edersek, olay odaklı mimaride ek iplikler ve iş parçacığı bağlam değiştirme ek yükleri ortaya çıkmaz ve genellikle daha iyi performans ve daha az kaynak tüketimi ile sonuçlanır.

bir raylar geliştirici bazı genel bakış, aynı zamanda benzetme içerir: http://odysseyonrails.com/articles/8

+0

Sadece bağlantıya verilen yanıtların kaldırılmayacağını unutmayın, SO cevapları bir çözüm arayışının son noktası olmalıdır (yine zaman içinde bayat eğilimi olan referansların bir başka durağan kısmı). Lütfen bağlantıyı referans olarak tutarak, burada tek başına bir özet eklemeyi düşünün. – kleopatra