Terracotta Cluster

Terracotta Cluster
Terracotta
Terracotta Logo.png
Développeur Terracotta, Inc
Dernière version 3.2.0 [+/−]
Écrit en Java
Environnement Cross-platform Java Virtual Machine
Site web http://www.terracotta.org

Terracotta Cluster est une solution qui permet de clusteriser des Machines Virtuelles Java (JVM). Ainsi, l'exécution d'une application Java - multi-threadée ou non - peut être répartie sur différents serveurs. Terracotta manipule le bytecode Java au chargement du code dans la JVM, ce qui permet de conserver les spécificités de Java au travers des clusters, telles que le passage par référence, la coordination de threads, et le ramasse-miette. Un simple fichier XML rend possible la mise en cluster des JVMs, les objets n'ont alors plus besoin d'être sérialisés.

Cas typiques d'utilisation :

  • Cluster de session HTTP
  • Mise en cache distribuée
  • Mise en cache d'Hibernate
  • La répartition de charge de travail
  • Coordination d'inter-JVM
  • Cluster de POJO

Sommaire

Historique de Terracotta

Architecture N-tiers

Jusqu'aux années 1990, les applications d'entreprise n'étaient pas destinées à être clusterisées, et étaient principalement liées à des bases de données relationnelles. Les applications, en grandissant, ont eu besoin de plus en plus de ressources. Pour pallier ce problème, la première solution a été la réduction au maximum du couplage entre les différentes couches de l'application, dans la mesure où un service peut être hébergé sur un serveur différent, sans pour autant compliquer le modèle de programmation.

Quand cette solution a montré ses limites, des réajustements ont dû être opérés ; c'est là que la clusterisation intervient. Les développeurs ont toujours vécu avec le regroupement et l'évolutivité étroitement couplés à la logique métier. Ce couplage étroit était une contrainte qui suivait les développeurs de la conception jusqu’au déploiement de l'application. Plus précisément, les développeurs et architectes devaient sélectionner JDBC, JMS ou des technologies similaires, pour la sérialisation et le déplacement de données entre les processus.

Comment Terracotta fonctionne

Aujourd'hui, Terracotta Cluster permet aux développeurs de s'abstraire de cette architecture répartie, et de se concentrer uniquement sur le code applicatif. De plus, il permet que la propagation d'une application à travers les JVMs soit une décision à l’exécution, et évite ainsi aux développeurs de coder en dur les techniques de « clusterisation ».

Le système de Terracotta augmente le bytecode JAVA au chargement dans la JVM, afin d’observer les changements des objets et de coordonner les verrous et les modifications des objets au travers des JVMs.

Le kit Terracotta se divise en deux parties :

  • Serveur Terracotta : Les serveurs Terracotta coordonnent les clients qui s'y connectent. Plusieurs serveurs peuvent être définis, l’un d’entre eux étant le serveur principal. S’il y a plusieurs serveurs, les clients essaieront de se connecter à ces serveurs dans l’ordre jusqu'à ce qu’un serveur actif soit atteint. Si un serveur actif tombe en panne ou devient inaccessible, les clients tenteront de se connecter à un autre serveur, jusqu’à ce qu’ils réussissent (voir la vidéo).
  • Client Terracotta: Ce sont les serveurs (machines) qui hébergent l'application Java clusterisée qui se connectent au serveur Terracotta. Ces applications peuvent être de simples applications Java (voir vidéos), ou des applications Web.

La particularité de Terracotta est que la clusterisation se fait sous la couche JVM, ce qui permet l'abstraction de la clusterisation aux développeurs d'applications Java.

Architecture d'un cluster Terracotta

Licence

Terracotta est développé et maintenu à la fois par les employés de la société Terracotta et par des bénévoles. Les utilisateurs ont accès au code source et aux fichiers binaires de Terracotta sous couvert de la Terracotta Public License (TPL), qui est basée sur la Mozilla Public License (MPL). Cependant, la TPL rajoute une clause de publicité similaire à celle de la version originale de la licence BSD, ce qui pose des problèmes pratiques lors de l'utilisation de logiciels couverts par cette licence[1].

Certaines fonctionnalités spécifiques en cours de préparation ne seront pas sous licence TPL, et seront donc uniquement maintenues par les employés de la société Terracotta.

Voir aussi

Bibliographie

Références

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Terracotta Cluster de Wikipédia en français (auteurs)

Игры ⚽ Нужна курсовая?

Regardez d'autres dictionnaires:

  • Terracotta Cluster — Infobox Software name = Terracotta caption = developer = latest release version = 2.6.2 latest release date = release date|2008|07|01 latest preview version = 2.6.3 latest preview date = release date|2008|07|26 operating system = Cross platform… …   Wikipedia

  • Terracotta — may refer to: *terra cotta, (Italian: baked earth ) is a ceramic. Its uses include vessels, water waste water pipes and surface embellishment in building construction. *Terracotta Cluster, an open source JVM level clustering software for Java.… …   Wikipedia

  • Cluster (computing) — A computer cluster is a group of linked computers, working together closely so that in many respects they form a single computer. The components of a cluster are commonly, but not always, connected to each other through fast local area networks.… …   Wikipedia

  • Кластер Terracotta — Эта статья или раздел носит ярко выраженный рекламный характер. Это не соответствует правилам Википедии. Вы можете помочь проекту, исправив текст согласно стилистическим рекомендациям Википеди …   Википедия

  • Apache Tomcat — Infobox Software name = Apache Tomcat caption = Apache Tomcat Default Page collapsible = yes developer = Apache Software Foundation latest release version = 6.0.18 latest release date = release date|2008|07|31 latest preview version = latest… …   Wikipedia

  • Hibernate (Java) — Infobox Software name = Hibernate developer = Red Hat latest release version = 3.3.1 GA latest release date = release date|2008|09|11 operating system = Cross platform (JVM) latest preview version = latest preview date = platform = Java Virtual… …   Wikipedia

  • Dubai International City — International City, Dubai   City   Dubai International City IC Dubai by Night CBD and England C …   Wikipedia

  • Vikramaśīla University — IAST2|Vikramaśīla University was one of the two most important centers of Buddhist learning in India, along with IAST2|Nālandā University during the Pala dynasty. IAST2|Vikramaśīla was established by King Dharmapala (783 to 820) in response to a… …   Wikipedia

  • Garden roses — are mostly hybrid roses that are grown as ornamental plants in private or public gardens. They are one of the most popular and widely cultivated group of flowering plants, especially in temperate climates. Numerous cultivars have been produced,… …   Wikipedia

  • History of Africa — Pre Colonial African States …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”