2011-08-04 20 views
8

Şu anda her biri uygulama düzeyinde önbellek içeren ve merkezi veritabanı sunucusuna sahip 2 uygulama sevgimiz var. Her iki sunucu uygulaması önbelleğini senkronize tutmak için, aralarında JMS aracı oluşturduk. Önbellekte, JMS'ye mesaj gönderen bir sunucuda açık olarak, diğeri kayıtlı olduğundan mesaj alır ve mesaj içeriğine göre pertiküler girişi temizler.Merkezi önbellek sunucusu. (Ehcache veya Hazelcast)

Bu ileti sistemi önbellek girdisini temizlemede gecikme eklediğinden, bir süre için uygulama düzeyi önbellekleri arasında tutarsızlık olacaktır.

Bu nedenle, tüm önbelleklerin eşit şekilde saklanması için yapılan tüm bu ek işlerden kaçınmak için merkezi önbellek sunucusuna sahip olduğumuzu düşündük.

Biz, Hazelcast bu önbellek tutma resultsets EHCache/Terracotta veya kullanarak düşünme bilgi kilitler ve bazı sistem belirli varaibles edilir.

Lütfen bizim için en iyi önbellek çözümünü önerin.

cevap

1

Merkezileştirilmiş Memcached sunucusunu (Hazırda bekleme 2. düzey önbellek ve diğer önbellek gereksinimi olarak) kullanıyoruz ve bizim için iyi çalışıyor. XMemcached müşteri ile Memcached kullanıyoruz ve bugüne kadar sorunsuz çalışıyor.

Hazelcast: dağıtılmış haritayı kullanımı çok kolay sunmaktadır (ve çok diğer şeylerin değer için

sen ama bazı fikirler vermeye çalışacağım için
+1

Herhangi bir memcache istemcisi, Hazelcast düğümlerindeki nesneleri önbelleğe almak için kullanılabilir. Hazelcast desteği memcache protokolü kutunun dışında. –

9

Muhtemelen iyi çözüm önermek olamaz dağıtılmış bir SQL Query çok düzgün bir şekilde):

Map<String, Object> map = Hazelcast.getMap("xxx"); 

ve işiniz bitti. Standart API'leri kullanarak harita üzerinde çalışın. Hazelcast yapılandırma/kurulum oldukça kolaydır (Ehcache/TC ile karşılaştırıldığında). Webapp izleme de kullanımı ve yardımcı kolaydır, ancak bazı şeyler eksik. Performans, küçük bir küme için (2 sunucunuz gibi) fazlasıyla yeterli olmalıdır.

Ehcache/Terracotta: kurulumunuza yeni bir altyapı bileşeni getirecektir (Terracotta Server) - olumsuz olabilir. Bu kurulumu kullanmak, öğrenmek ve denemek istediğim şeyler açısından oldukça yoğun bir deneyim. Söz veri kurumsal sınıf seviye performans ve izleme tesisleri.

Aşırı yüksek performans gereksinimleriniz yoksa, kişisel olarak Hazelcast'e gidip, Ehcache/TC'nin karmaşıklığından kaçınacağım.

+1

Ben jeha ile hemfikir. Buna ek olarak, Hazelcast, küme işlemlerinde çok işe yarayan kaygan bir uzaktan iş parçacığı özelliği sunar ve JMX ile güzel çalışır. Hazelcast ile çok memnun kaldık. – ecodan