Java groups

Java groups

JGroups

JGroups est un système fiable (i.e. qui ne perd pas les messages) de multicast écrit dans le langage Java.

Sommaire

Le multicast

Nous disposons de plusieurs moyens pour communiquer avec une ou un groupe de machines :

  • Unicast : Dans ce système, chaque message a un destinataire. Donc, pour envoyer le même message à plusieurs personnes, il faut le dupliquer pour chaque destinataire.
  • Multicast : Dans ce système, chaque machine qui désire recevoir les messages vers un groupe donné s'enregistre sur une adresse (l'adresse de groupe). Pour envoyer, il suffit donc d'envoyer à l'adresse du groupe, une et une seule fois.
  • Broadcast : Dans ce système, chaque message est envoyé à chaque machine qui se trouve sur le réseau. Donc, les machines doivent elles-mêmes filtrer les messages non-désirés.

TCP/IP propose un système de multicast et JGroups a été initialement créé pour pouvoir automatiser le processus d'abonnement, réception et désabonnement d'un multicast IP. Elle supportait donc les fonctionnalités suivantes:

  • Création et destruction de groupes multicast. Ces groupes peuvent être sur un réseau local ou un réseau de grande taille.
  • Abonnement et désabonnement de ces groupes.
  • Transmission de messages (non-fiables) entre groupe.

Extensions fournies par JGroups

Le multicast IP est utilisé dans de diverses applications:

  • Diffusions temps réel de flux audio ou vidéo: dans ce cas, si un paquet est perdu ou arrive dans un mauvais ordre la perte n'est pas très importante, les paquets précédents et suivants sont probablement suffisants pour récupérer.
  • Le protocole OSPF, pour la détection automatique de routeurs: dans ce cas, la perte des paquets n'est pas un problème car très peu probable.

Ces applications ne nécessitant pas un contrôle de flux, le multicast IP utilise un protocole non-fiable et n'ayant aucun contrôle d'ordonnancement. JGroups a été rapidement étendu pour pouvoir pallier ces manques et offre plus de fonctionnalités et de flexibilité:

  • Un choix parmi des divers protocoles de transport: UDP, TCP ou encore JMS.
  • Détection d'abonnement et notification au sujet des membres qui ont rejoint ou quitté le groupe.
  • Détection et enlèvement de membres ayant plantés.
  • Transmission fiable et ordonné des messages.
  • Messages point-à-point.
  • Fragmentation des messages trop grands.
  • Politiques d'ordonnancement: atomique (tout ou rien), FIFO, ordre total.
  • Encryption.
  • etc.

JGroups est donc un système simple, rapide et fiable pour pouvoir mettre en communication un ensemble de machines et proposer des services tel que la synchronisation, la répartition de charge ou encore la substitution en cas de problème.

Usages

JGroups est utilisé dans de divers applications:

  • JBoss et JOnAS utilisent tous les deux JGroups pour gérer les parties distribués du serveur et la distributions des caches
  • GroupPac (une implémentation de la spécification CORBA tolérente aux fautes) utilise JGroups
  • Autodesk LocationLogic utilise JGroups dans son mechanisme de replication de cache
  • etc.

Ressources

Ce document provient de « JGroups ».

Wikimedia Foundation. 2010.

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

Игры ⚽ Поможем написать курсовую

Regardez d'autres dictionnaires:

  • Java EE — Java Platform, Enterprise Edition o Java EE (anteriormente conocido como Java 2 Platform, Enterprise Edition o J2EE hasta la versión 1.4), es una plataforma de programación parte de la Plataforma Java para desarrollar y ejecutar software de… …   Wikipedia Español

  • Java APIs for Integrated Networks — (JAIN) is an activity within the Java Community Process, developing APIs for the creation of telephony (voice and data) services. Originally, JAIN stood for Java APIs for Intelligent Network . The name was later changed to Java APIs for… …   Wikipedia

  • Java Business Integration — (JBI) is a specification developed under the Java Community Process (JCP) for an approach to implementing a service oriented architecture (SOA). The JCP reference is JSR 208 for JBI 1.0 and JSR 312 for JBI 2.0.JBI is built on a Web Services model …   Wikipedia

  • Java Data Object — Java Data Objects Le Java Data Objects (ou JDO) est un standard informatique basé sur Java permettant l accès aux données de façon transparente et unifiée. Le standard est géré dans le cadre des JSR de SUN. La simplicité d utilisation de JDO… …   Wikipédia en Français

  • Java Data Objects — (ou JDO) est un standard informatique basé sur Java permettant l accès aux données de façon transparente et unifiée. Le standard est géré dans le cadre des JSR de Sun. La simplicité d utilisation de JDO basée sur la manipulation de Plain Old Java …   Wikipédia en Français

  • Java Loach — Scientific classification Kingdom: Animalia Phylum …   Wikipedia

  • Java — /jah veuh/ or, esp. for 2, /jav euh/, n. 1. the main island of Indonesia. 76,100,000 (with Madura); 51,032 sq. mi. (132,173 sq. km). 2. (usually l.c.) Slang. coffee: a cup of java. 3. Trademark. a programming language used to create interactive… …   Universalium

  • Java — This article is about the Indonesian island. For other uses, see Java (disambiguation). Java Native name: Jawa Topography of Java …   Wikipedia

  • Java User Group — A Java User Group (JUG) is a community of users of the Java programming language. Most JUGs are geographically bound, such as the PhillyJUG (Philadelphia, USA) and the DFJUG (Brazil).Typically, members of a JUG support each other through:*… …   Wikipedia

  • Java (software platform) — Not to be confused with JavaScript. Java Original author(s) Oracle Corporation Developer(s) James Gosling / Sun Microsystems …   Wikipedia

Share the article and excerpts

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