2012-02-15 17 views
6

Her biri aynı java web uygulamasını çalıştıran bir web sunucusu kümem var. Tüm bu web uygulaması örnekleri aynı veritabanını (veri depolama için) ve aynı ağ dosya deposunu (bazı gerekli dosyaları sakladıkları) paylaşır.Web uygulamalarını bir kümede senkronize etme

Web uygulamalarının örneklerini senkronize edebilmem gerekir. Örneğin, uygulama örneklerinden biri istemciden belirli bir istek alır, bazı yeniden hesaplama yapar ve iç önbelleğini günceller. Bu noktada, bir kümedeki diğer tüm web uygulamaları için iç önbellekleri güncellemem gerekiyor, böylece her biri aynı veri kümesinde çalışıyor.

Böyle bir işleve ulaşmanın en iyi yolu ne olurdu? Elbette, paylaşılan kaynağı (veritabanı tablosunda bayrak veya dosya deposundaki bir dosya) periyodik olarak kirletecek ve koşul karşılandığında gerekli işlemleri başlatacak bazı özel bileşenler uygulayabilirim. Ama belki kullanabileceğim bazı kütüphane/bileşen/uygulama var mı?

+0

Daha spesifik misiniz? –

+0

Daha spesifik: Uygulama düğümlerim arasında etkinlikler gönderebilmem gerekir. Dediğim gibi bir veritabanı ve düğümler arasında paylaşılan bir dosya deposu var, bu yüzden bunlardan birini bir etkinlik otobüsü olarak kullanmayı tercih ediyorum. –

+1

Hey andrew.z - Sorunuza kısıtlamalar ekleyebilirseniz iyi olur. Önbellek tutarlılığını biliyorsanız, ancak attıysanız, nedenini bize bildirin; UDP kullanmak istemiyorsanız, bize bildirin. Sorunuza cevap veren kişileri gereksinimlerinizi karşılamayan fikirlerle kurtarır. –

cevap

3

Varolan bir çok kitaplık ve bileşen var. cache coherence. hakkında daha fazla bilgi için: http://www.kb.gov.tr/products/index.php?option="http: //www.google.com/support/default.aspx?displaylang=tr&id=1&hl=tr&hl=tr Google hazır el yazısı kodları yazmak istiyorsanız, birkaç yaklaşım vardır, nasıl yapılabiliyor. Kümenizdeki her düğüm, diğer düğümleri (en basit durumda) bilmelidir. Veriler farklı şekillerde çoğaltılabilir.

Senkronize çoğaltma Yazma, yerel düğümde yalnızca yazmalar diğer düğümlere gönderildiğinde gerçekleşir.

Eşzamansız çoğaltma. Yazımlar yerel düğümde gerçekleşir ve daha sonra diğer düğümlerde çoğalır.

Önbellek geçersiz kılma. Veri değiştiğinde, tüm düğümler sinyal alır, verilerini geçersiz kılar ve veritabanından yeniden okur.

Kendiniz uygulamak zor olabilir, düğümlerinizin veri alışverişi için kullanacağı özel protokollere (JGroups'u kullanabilirsiniz) ihtiyacınız vardır. Ben hazır çözüm bulmanızı öneririm

+0

Gönderi için teşekkürler. Önbellek tutarlılığının farkındayım, ama bence yapabilmek için yapmam gereken bir şey. Tek ihtiyacım olan şey sadece uygulama düğümlerim arasında, veri tabanı veya veri yolu olarak veri yolu olarak olayları gönderebilmek. –

+0

Jgroup'ları deneyin. Düğümler arasındaki olayları yayınlamanıza yardımcı olabilir. Paylaşılan veri kaynağı havuzu en iyi çözüm değildir. Kurs gereksiniminize bağlıdır – Anton

+0

Eğer jgrouplar UDP yerine dosya veya veritabanı kullanabilirse ... –

İlgili konular