Java Caching System: Porovnání verzí

Z FI WIKI
Přejít na: navigace, hledání
 
Řádka 1: Řádka 1:
 
== Obecné informace ==
 
== Obecné informace ==
 
'''URL: ''' [http://jakarta.apache.org/turbine/jcs/ http://jakarta.apache.org/turbine/jcs/]
 
'''URL: ''' [http://jakarta.apache.org/turbine/jcs/ http://jakarta.apache.org/turbine/jcs/]
 +
JCS je distribuovaný cachovací systém napsaný v Javě. Je určený k zrcyhlení aplikací. Jeho hlavní funkcí je spravovat načtená data různé dynamické povahy. Stejně jako pro ostatní cachovací systémy platí pro JCS, že je vhodný pro aplikace s vysokým poměrem čtení – zápis.
 +
 +
JCS lze spustit na JDK od verze 1.3. Pro svůj běh používá pouze dva jar archívy:
 +
*Commons Logging
 +
*Util Concurrent (autorem je Doug Lea)
 +
 +
Základem JCS se systém zásuvných modulů (Composite Cache), který umožňuje vložit kontrolery pro správu regionů. Pro každý region je možné vložit 4 druhy modulů.
 +
*memory
 +
*disk
 +
*lateral
 +
*remote
 +
 +
JCS poskytuje implementaci každého z vyjmenovaných typů.
 +
=LRU memory cache=
 +
Tento paměťový modul je velmi rychlý a nabízí velkou možnost konfigurace. Pro správu paměti používá algoritmus LRU. JCS poižívá vlastní implementaci LRU mapy, která je výrazně rychlejší než <class>org.apache.commons.collections.LRUMap</class>  z projektu jakarta commons a LinkedHashMap, která je poskytována od jdk1.4.
 +
 +
=Indexed disk cache=
 +
Indexovaná disková cache je prostor pro odložení již načtených dat. Stejně jako v minulém případě se jedná o prostřední s velkým množstvím nastavení. V modulu jsou implementovány nejrychlejší vzory pro odkládání na disk. Elementy cahce jsou zapisovány na disku pomocí procesu, který je založen na frontě. Velikost elementu je uložena v několika prvních bytech záznamu. Odsazení je uloženo v paměti a lze se na něj odkazovat pomocí klíče. Pokud jsou data odstraněna z disku, je místo a velikost  zaznamenína a pokud je to možné znovu použita.
 +
 +
=TCP Lateral Cache=
 +
Tento typ je určený pro výsílání informací o vložení nebo odstranění objektu do/z paměti a samozřejmě pro získání objektu z paměti. Jedná se distribuovanou paměť, kterí pracuje na zákládě mechanismu UDP discovery, takže se může přidat nový uzel a celá stávající farma se nemusí překonfigurovat. Zákledem je socketového spojení s ostatními uzly. Každý z nich si udržuje spojení ke všem ostatním.
 +
 +
=RMI Remote Cache=
 +
Vzájemné propojení uzlů nemusí být vždy pro řešení optimální. Tento modul umožňuje využít vzdálený server jako bod připojení. Každý uzel se k němu může připojit a vyslat přes něj události ostatním uzlům. Aby byla zachována konzistence paměti může být výhodné místo posílání celých objektů poslat pouze informaci o zneplatnění objektu. Vzdálené cache obsahují serializované verze objektů, nemusí být tedy nasazeny z aplikačními knihovnamy.

Verze z 14. 12. 2006, 11:15

Obecné informace

URL: http://jakarta.apache.org/turbine/jcs/ JCS je distribuovaný cachovací systém napsaný v Javě. Je určený k zrcyhlení aplikací. Jeho hlavní funkcí je spravovat načtená data různé dynamické povahy. Stejně jako pro ostatní cachovací systémy platí pro JCS, že je vhodný pro aplikace s vysokým poměrem čtení – zápis.

JCS lze spustit na JDK od verze 1.3. Pro svůj běh používá pouze dva jar archívy:

  • Commons Logging
  • Util Concurrent (autorem je Doug Lea)

Základem JCS se systém zásuvných modulů (Composite Cache), který umožňuje vložit kontrolery pro správu regionů. Pro každý region je možné vložit 4 druhy modulů.

  • memory
  • disk
  • lateral
  • remote

JCS poskytuje implementaci každého z vyjmenovaných typů.

LRU memory cache

Tento paměťový modul je velmi rychlý a nabízí velkou možnost konfigurace. Pro správu paměti používá algoritmus LRU. JCS poižívá vlastní implementaci LRU mapy, která je výrazně rychlejší než <class>org.apache.commons.collections.LRUMap</class> z projektu jakarta commons a LinkedHashMap, která je poskytována od jdk1.4.

Indexed disk cache

Indexovaná disková cache je prostor pro odložení již načtených dat. Stejně jako v minulém případě se jedná o prostřední s velkým množstvím nastavení. V modulu jsou implementovány nejrychlejší vzory pro odkládání na disk. Elementy cahce jsou zapisovány na disku pomocí procesu, který je založen na frontě. Velikost elementu je uložena v několika prvních bytech záznamu. Odsazení je uloženo v paměti a lze se na něj odkazovat pomocí klíče. Pokud jsou data odstraněna z disku, je místo a velikost zaznamenína a pokud je to možné znovu použita.

TCP Lateral Cache

Tento typ je určený pro výsílání informací o vložení nebo odstranění objektu do/z paměti a samozřejmě pro získání objektu z paměti. Jedná se distribuovanou paměť, kterí pracuje na zákládě mechanismu UDP discovery, takže se může přidat nový uzel a celá stávající farma se nemusí překonfigurovat. Zákledem je socketového spojení s ostatními uzly. Každý z nich si udržuje spojení ke všem ostatním.

RMI Remote Cache

Vzájemné propojení uzlů nemusí být vždy pro řešení optimální. Tento modul umožňuje využít vzdálený server jako bod připojení. Každý uzel se k němu může připojit a vyslat přes něj události ostatním uzlům. Aby byla zachována konzistence paměti může být výhodné místo posílání celých objektů poslat pouze informaci o zneplatnění objektu. Vzdálené cache obsahují serializované verze objektů, nemusí být tedy nasazeny z aplikačními knihovnamy.