2011-01-31 13 views
6


Benim DAL Hibernate ile uygulanır ve EHCache'u dağıtılmış yetenekleri (ölçeklenebilirlik ve HA için) ile ikinci düzey önbellek olarak kullanmak istiyorum.
EHCache olarak görülüyor, yalnızca Terracotta dağıtılmış önbelleğe alma sağlar soru şu: Terracotta sunucu örneğinin rolü nedir? Aynı zamanda veri tutuyor mu? Yalnızca bölümlenmiş önbellek parçaları arasındaki dağılımı koordine ediyor mu?
Benim karışıklık temelde sunucunun veriyi sakladığını söyleyen TSA ile ilgili this açıklamadan kaynaklanıyor, ancak belki benim senaryoda önbellek ve Terracotta sunucusunun birleştirilmiş olduğunu düşünüyorum. Doğrumuyum?
Sunucu veri tutmuyorsa, neden darboğaz sadece db'den Terracotta sunucusuna taşınmamalıdır?Bir Terracotta sunucusu, Hazırda Bekletme özelliğine sahip EHCache için arka uç olarak kullanıldığında ne yapar?

Güncelleme: Affe cevabı cevap önemli parçasıydı ama her ihtimale karşı Birisi TC sunucu tüm verileri tutmak zorunda olduğu söylerim ilk bölümü bakarak gelir Soruma ikinci bölümü yani EHCache bellekte tutulur ve dağıtılmış bir önbellek (çoğaltılmamış) istiyorsanız, L2 (TC sunucusu) tüm nesneleri de kendi içinde tutmalıdır. peşin

sayesinde
Ittai

cevap

4

fikri bir veritabanı bağlantısı kazanmak ve bir SQL deyimini yürütmek yerine, pişmiş toprak sürücüsü üzerinden pişmiş küme başvurun ve temelde Harita arama olanı yapmak önemli ölçüde daha hızlı hala olduğunu . Bu, uygulamanın jikle noktası haline gelse bile, genel verimin hala bir JDBC Connection + SQL choke noktasından önemli ölçüde daha yüksek olması beklenir. Açık bağlantılar ve açık imleçler veritabanındaki büyük kaynak ağlarıdır, pişmiş küme için açık bir soket değildir!

+0

Sorunu anlıyorum - neden EHCache terracotta'ya ihtiyaç duyuyor, örneğin JBoss önbelleği merkezi olmayan ve herhangi bir ek sunucuya ihtiyaç duymuyorken – Bozho

+1

Bu gerçek bir soru değildi ama bu güzel bir ek. – Ittai

+1

Sanırım hanginiz hakkında net değiliz? ifadeler retoriktir ve asıl soru nedir? 'Evet' anlıyorsunuz, terrakotta çözümü harici bir sunucu kümesi kullanıyor. Son fiili soruna odaklanmaya çalıştım, neden böyle bir şeyi yapmakta sıkıldınız? – Affe

3

Pişmiş toprak kullanmadan ehcache kümelenmiş alabilirsiniz. Bunu RMI, JGroups ve JMS ile yapmak için belgelere sahipler. İletişimi yürütmek için önemli bir JMS altyapısına sahip olduğumuzdan JMS'yi kullanıyoruz. Uzun vadede ne kadar iyi ölçek kalacağını bilmiyorum ama şu andaki endişemiz sadece HA.

+1

Teşekkürler Matt. Terracotta olmadan, ölçeklenebilirlik açısından ihtiyaçlarına uygun görünmeyen, çoğaltma ve dağıtım yapamazsınız. – Ittai

+1

eh, bu tür çoğaltma yöntemleriyle bir nesne önbelleği olarak kullanılabilir, ancak, bu şekilde kullanıldığında kilitleme için eski Hazırda Bekletme SPI'sini desteklemez. Özellikle Hazırda Bekletme L2 önbellek olarak çok dikkatli olmalısınız, çünkü Hibernate, eh'nin göz ardı ettiği kilit komutları yayınlayacaktır. (davranış her ikisinin belirli sürümlerine bağlıdır) – Affe

İlgili konular