SORU
10 Ocak 2011, PAZARTESİ


Tasarım kararları Scala iyilik'JMS yerine Aktörler ne olur?

Ne farkları JMS yerine Scala Aktörler kullanarak?

Bir performans ve ölçülebilirlik açısından örneğin, Scala Aktör modeli JMS göre Ekle? Hangi durumlarda JMS yerine Aktörler kullanmak daha mantıklı, yani sorunları Aktörler bu JMS adresi olamaz neleri kapsıyor?

CEVAP
10 Ocak 2011, PAZARTESİ


JMS ve Scala aktörler teorik bir benzerliği paylaşırlar ama mutlaka mimari aynı sorunları çözme olarak düşünme. Aktörler yarışları ve kilitlenmeleri genellikle yanlışlıkla oluşturmak için daha zor olduğu-paylaşımlı bellek eşzamanlılık için hafif bir alternatif olması gerekiyordu. JMS doğrudan mesajlaşma span, yayımlamak/abone olun, hareketler, YEREL entegrasyon, vb için tasarlanmış gelişmiş bir API.

En yakın JMS aktör eşdeğer kalıcı olmayan, işlemsel olmayan, non-pub/alt sıra tarafından desteklenen bir mesaj bean tahrik olurdu. Bir ararım"". basit JMS bean

Şimdi, sorularınıza.

JMS performans belirtimi olduğu için konuşmak zor bir şey yerine bir uygulamasıdır. Basit fasulye JMS performans belki de zaman ve bellek aktör için biraz uç ile hemen hemen aynı olmasını isteyeceğim kullanırken hiçbiri-az. Pub/sub, hareketleri gibi JMS yetenekleri eklerken, vb performans doğal olarak daha da ama o zaman elmalarla portakalları karşılaştırmak için çalışıyorsun düşer.

Bu özelliği kullanabilmek için, basit JMS fasulye hemen hemen aktörler ile tam olarak aynı şekilde ölçek gerekir. JMS karışımı içine ekleme işlemleri doğal olarak bir miktar hareketleri kapsamında bağlı olarak ölçülebilirlik zarar verir.

JMS değil oyunculara böyle daha geniş kapsamlı bir soru. Peki, yerleşik pub alt veya hareketleri olmadan bu aktörler JMS çıkarmak gibi görünüyor - ve genel olarak bu doğru. Ama şu var: aktörler mutlu çok ince taneli eşzamanlılık için onları kullanmam o kadar az kod gerektirir. Sıradan Java kod olabilirim ki "gelmek istemiyorum vidalama ile JMS ve bağımlılıkları veya kod gerekiyor vs. yani ben sadece Oyun sırasında bir iş parçacığı bir kilidi ve paylaşmak bir veri yapısı." Çok fazla "ben bir aktör körüklemek ve yoluma devam ederim." deme ihtimalim Scala aktörlerle

Ayrıca tasarım içinde felsefi bir fark var. Aktörler basit, yönetici hiyerarşi kavramı inşa etmişlerdir. Aktörler genellikle bir "o" tasarım. kaza kullanılır Eğer oyuncu ölür nedense o zaman başka bir aktör sorumludur karar ne yapmam gibi yeniden aktör, öldürme bir sürü aktör ve yeniden hepsini, ya da öldürmek, bir sürü aktör ve kendisi bazı otther aktör olabilir anlaşma ile sorun. Böyle bir şey JMS eklenmiş olabilir, ama API çekirdek değil ve yönetilmelidir dışarıdan bir şekilde.

Daha alemlerine taşıyan Scala aktör bir kütüphane için bu arada, JMS Akka bakın kapsar. Akka da birçok ortak aktör hiyerarşi stratejileri ve açıklayıcı bir yaklaşım getiriyor.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • GenTechPC

    GenTechPC

    1 Temmuz 2007
  • Neil Cicierega

    Neil Ciciere

    22 Mart 2006
  • TechnoBuffalo

    TechnoBuffal

    8 HAZİRAN 2007