Le pattern d'acteurs avec AKKA

Quand il s'agit traiter un stream de données, plusieurs approches sont envisageables. Stream ne signifie pas nécessairement temps réel, mais plutôt la notion de traitement incremental des données. On peut soit sortir l'artillerie lourde, soit utiliser des solutions plus légères plus spécifiques aux traitements souhaités. AKKA appartient à cette seconde catégorie, et permet de bâtir très vite des solutions extrêmement performantes.

AKKA est un outil pour construire des applications distribuées en Java ou Scala. Roland Kuhn, Akka Team Lead en fait une très bonne description, et permet de bien comprendre ce qu'on peut en faire :

"Akka is a collection of tools that helps you write concurrent and distributed applications. The central piece is its implementation of the Actor Model, invented by Carl Hewitt in 1973, where Actors are independent agents of computation that only communicate with each other by sending messages. This model is perfectly suited to express that different parts of an application may use separate CPUs or run on different nodes, and it also includes the notion of failure encapsulation and supervision in order to deal with unforeseen events."

Pour bien faire comprendre le modèle des acteurs rien de tel qu'un petit exemple de code. Ici on envoie à un acteur des messages et celui-ci répond. On peut évidement faire des modèles bien plus complexes d'acteurs s'enchainant les uns après les autres, et pouvant être distribués sur plusieurs hosts.

Rendez-vous dans de prochains blogs pour des exemples plus complexes.