Revue de Presse Xebia

Revue de Presse Xebia
La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia.

Le coin de la technique

Le coin de la technique

Sortie de Akka 2.0

Le framework Akka vient tout juste de sortir en version 2.0. Cette version majeure est issue d’une importante ré-écriture du framework notamment connu pour son implémentation du modèle des acteurs.

Le modèle des acteurs et Akka plus spécifiquement permettent de développer de façon simple et efficace des applications concurrentes, distribuées et hautement disponibles. Il utilise pour cela un modèle de développement orienté message permettant des traitements asynchrones et non bloquants.

Cette nouvelle version apporte un lot important de changements :

  • supervision : tout acteur est maintenant supervisé par un autre acteur qui peut prendre des mesures en cas de problème et gére le cycle de vie des acteurs supervisés (démarrage, arrêt, redémarrage d’un ou plusieurs acteurs en cas d’erreur…). Il existe maintenant un ActorSystem à partir duquel d’autres acteurs pourront être créés,
  • configuration modulaire : il est maintenant possible de configurer beaucoup plus finement les acteurs,
  • adresse des acteurs : cette nouvelle version introduit un système permettant de retrouver nos acteurs en leur affectant un chemin d’accès,
  • localisation transparente : la localisation d’un acteur (local ou remote) se fait maintenant par configuration et est donc transparente au niveau de l’implémentation. On accèdera à un acteur de la même manière qu’il soit en local ou à distance sur un autre noeud du cluster,
  • amélioration et nettoyage de l’API : notamment une réécriture complète des TypedActors,
  • bus d’évènement : ajoute la possibilité d’avoir un système publisher/subscriber permettant par exemple de monitorer l’arrêt d’un acteur,
  • redesign de l’API Future : cette API permettant d’invoquer et de traiter les résultats de processus asynchrones (des acteurs par exemple) à été développée conjointement avec l’équipe de développement de Scala puisqu’elle sera intégrée de base dans la future version Scala 2.10,
  • amélioration notable des performances : la taille des acteurs à été divisée par 2 entre les versions 1.x et 2.0 passant à 300 octets par acteur (sans état). Quelques benchmarks ont aussi été réalisés montrant des performances impressionnantes (20 millions de messages/seconde sur une machine 48 coeurs), notamment grâce à l’utilisation des Fork/Join executors.

Les évolutions futures de Akka 2 tournent autour de la mise en cluster des applications développées avec ce framework. Sont notamment au programme :

  • détection de la disparition d’un noeud,
  • réplication des acteurs (stateless dans un premier temps puis stateful),
  • cluster élastique (répartition de charge, migration automatique des acteurs en cas de crash d’un noeud…).

Billets sur le même thème :

Laisser un commentaire