2012-05-16 31 views
7

Çok sayıda görevi zamanlamak için bazı genel kitaplıklar arıyorum. Kütüphane, kümedeki düğümler arasında görevleri bölme, yük dengeleme ve hata toleransı gerçekleştirme yeteneği sağlamalıdır - böylece bazı düğümler azalırsa, düğümün görevleri kalan düğümlere dağıtılmalıdır.Java için genel amaçlı dağıtılmış programlama kitaplığı

Hadoop'a baktım - ama harita azaltma görevleri için iyi çalışacak gibi görünüyor. Benim durumumda basitçe bildirim gönderen kişiler, nesne durumu için denetleyiciler, vb.

Kuvars harika görünüyor - ama olayların düğümlere gönderilmesi söz konusu olduğunda ne kadar iyi olduğu açık değil.

Diğer seçenekler?

cevap

7

Akka için bir kullanım durumu gibi görünüyor.

+1

veya [Redisson scheduler service] için (https://github.com/mrniko/redisson/wiki/9.-distributed-services/#94-distributed-scheduled-executor-service) –

0

Yoksa da Quartz, bu Akka daha iyi bir uyum gibi görünüyor ben Hıristiyan katılıyorum

+0

ne dağıtılmış görev işleme ve bir düğümün ne zaman biteceği ile ilgili durumlar? Kutu çözümünün dışında bir şey yok gibi görünüyor. – jdevelop

3

:) istediğiniz neredeyse her şeyi işleyebilir deneyebilirsiniz. Kuvars, yaptıklarından dolayı harika, ancak temel yapı taşı, yapılması gereken bir iştir. İşinizi dağıtılabilir bileşenlere ayırmanıza yardımcı olmayacak.

Tüm görevleriniz işlere ayrılabilirse, Quartz bunları zamanlamanıza yardımcı olabilir, işte bu en iyisidir. Ancak bir işin alt görevlere ayrılması gerekiyorsa, başka bir çerçeve kullanmanız gerekecektir.

Gereksinimlerinize bağlı olarak başka bir seçenek spring batch olabilir.

+0

Şimdilik, bir işi "iş" olarak çalıştırmak mümkündür, ancak bir düğümün ne zaman bitip dağıtıldığını, kuvarsın dağıtılmış görev yönetimi ile nasıl başa çıkabileceğini görmüyorum. Ve yoklama kullanıyor, bu yüzden işin depolanması gereken bir çeşit veritabanını yapılandırmak gerekiyor, bu potansiyel bir darboğaz. Bir şey mi eksik? – jdevelop

+0

veritabanı gerçekten bir darboğaz. dağıtılmış görevler için, kümelemeyi yapılandırabilirsiniz, ancak bu biraz sınırlıdır –

1

Java ile (Java ile yazılmış) birlikte çalışan bir iş akışı zamanlayıcısı olan ProActive deneyebilirsiniz. Listelediğiniz özellikleri desteklemektedir. OW2'nin bir parçası olan açık kaynak bir projedir. Örneğin

aşağıdaki özellikleri vardır:

  • iş akışları, örneğin
  • görevler düğümlerde yürütülür çoğaltma/eğer/örneğin, maddeler farklı makinelerde döngü olarak çalışan bağımlılıkları ve oluşum ile görevleri ayarlanmışsa, yani
  • Görevler düğüm kesilmesiyle otomatik yeniden başlatılabilir

[feragat] Ben Activeeon bir parçasıyım, şirket Pr için profesyonel destek sağlayan oActive [/ disclaimer]

+0

Lütfen [cevap] 'ı okuyun, ayrıca yanıtın, bağlantı ölürse bile yararlı olabilecek bilgileri içermesi gerekir. –

İlgili konular