SORU
16 Mart 2009, PAZARTESİ


asansör neden çerçeve kuracağınız bilgisayarda bir web mi?

Asansör webframework yüksek performans ve ölçülebilirlik, neden teknik nedenlerden bilmek istiyorum? Aktör bir kütüphanesi var, scala, kullanır biliyorum, ama talimatlar yükleme göre varsayılan yapılandırma iskele ile. Yani ölçek aktör kitaplığını kullanır mı?

Şimdi ölçülebilirlik kutudan inşa edilmiş. Otomatik ölçek olacak sadece ek sunucuları ve düğüm eklemek ve nasıl çalışır? Destekleyen sunucuları ile 500000 eşzamanlı bağlantı işleyebilir.

Orada ne yenebilir ve ölçek, yapılandırılabilir, ve bakımı kolay kurumsal düzeyde web hizmetleri için bir çerçeve oluşturmak için çalışıyorum. Ölçekleme benim tanımı sadece daha fazla sunucu ekleme ve ilave yükü karşılamak için olması gerekir.

Teşekkürler

CEVAP
12 NİSAN 2009, Pazar


Ölçülebilirlik için asansör yaklaşımı tek bir makine içinde. Makine Ölçekleme karşısında daha büyük, daha zor bir konu. Orada kısa cevap: Asansör ve bir şey ya da yatay Ölçekleme engel yardım yapma Scala.

Tek bir örneği en diğer sunucular daha fazla eşzamanlı istekleri işleyebilir, çünkü bildiğim kadarıyla tek bir makine daha iyi ulaşır içinde aktörler sağlar. Açıklamak için, ilk iş parçacığı başına isteği klasik işleme modeli kusurlarını işaret var. Benimle ayı, bu bir açıklama gerektiriyor.

Tipik bir çerçeve, bir iş parçacığı bir sayfa isteği için kullanır. İstemci bağlandığında, bir çerçeve havuzdan bir konu atar. Bu konuyu daha sonra üç şey yapar: bir yuva; bazı hesaplamalar yapar (veritabanı I/O potansiyel içeren); ve soket dışında bir yanıt gönderir. gelen istek okur Hemen hemen her adımda, bir iş parçacığı bir süre için engelleme sona erecek. İstek okurken, ağ beklerken engelleyebilir. Hesaplama yaparken,/o da veritabanı beklerken engelleyebilirsiniz disk veya ağ ı bloke edebilir. Yanıt gönderirken son olarak, eğer müşteri veri yavaş alırsa engelleyebilir ve TCP windows doldurdu. Genel olarak, iplik zaman kapanmış 30 - 90% harcamak olabilir. Zamanının 0'ünü, ancak bu isteğini harcıyor.

Bir JVM sadece gerçekten yavaşlatır daha önce çok iş parçacığı destekler. İş parçacığı planlama, bellek, paylaşılan varlıklar (bağlantı havuzu ve monitörler gibi) için çekişme ve yerli OS sınırları kaç bir JVM oluşturabilirsiniz kısıtlamalar empoze.

Eğer JVM sınırlı olan maksimum sayıda iş parçacığı, iş parçacığı sayısı belirler kaç eşzamanlı istekleri sunucu işleyebilir, sonra sayı eşzamanlı istekleri belirlenecektir tarafından iş parçacığı sayısı.

(Alt sınırları---GC dayak, örneğin uygulayabileceği başka konular da var. Konuları temel kısıtlayıcı bir faktör, ama tek değil!)

Asansör decouples istekleri konu. Asansör, bir istekdeğilbir ipliği bağlayın. Daha doğrusu, bir iş parçacığı bir eylem (istek okuma gibi), bir aktör için bir mesaj gönderir. Aktörler "hafif" konuları üzerinden zamanlanmış çünkü hikayenin önemli bir parçasıdır İş parçacığı havuzu aktörler içinde iletileri işlemek için kullanılan alır. Önemli engelleme işlemleri önlemek için aktörler içinde, bu iş parçacığı havuzu için hızla döndü. (Bu havuz uygulamasına görünür olmadığını unutmayın, aktörler için Scala destek parçası.) Şu anda veritabanı veya disk G/Ç engellenmiş bir istek, örneğin, isteği işleme bir iş parçacığı meşgul etmiyor. İstek iş parçacığı işleme, hemen, daha gelen bağlantılar için kullanılabilir.

İş parçacığı istekleri ayırımı için bu yöntem Asansör server iş parçacığı başına bir istek daha fazla eşzamanlı istekleri sunucu olmasını sağlar. (Ayrıca Boz kütüphane aktörler olmadan benzer bir yaklaşımı desteklediğini belirtmek isterim.) Daha fazla eşzamanlı istekleri tek bir Asansör sunucu normal bir Java EE sunucu kullanıcı daha fazla destek anlamına gelir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • edwin maldonado

    edwin maldon

    28 Mart 2009
  • RomanAtwood

    RomanAtwood

    18 Kasım 2009
  • Toddler Fun Learning

    Toddler Fun

    8 ŞUBAT 2013