BT
x Votre opinion compte ! Merci de bien vouloir répondre au sondage InfoQ concernant vos habitudes de lecture !

MapReduce avec Actor FX

par Jonathan Allen , traduit par Ludwine Probst le 07 août 2013 |

Une nouvelle version d’ActorFx intègre des algorithmes de type MapReduce. ActorFX est un modèle d’objets dynamiquement distribués, non-descriptif et indépendant du langage. Avec cette nouvelle mouture, ActorFx propose un framework et une infrastructure sur laquelle des structures de données hautement disponibles et d’autres entités logiques peuvent être implémentées.

La fonctionnalité MapReduce est illustrée via l’exemple du Word Count. Cette démonstration repose sur trois types d’acteurs : les mappers, les reducers et les aggrégateurs. Les mappers traitent des fichiers de textes bruts, et les convertissent en dictionnaire de données. Ces dictionnaires sont ensuite envoyés aux reducers, qui “lisent le dictionnaire sérialisé et accumulent ces informations dans un dictionnaire temporaire qui trace les nombres totaux de mots pour chaque reducer. Lorsque chaque reducer a reçu les messages “done” de chacun des mappers qui l’alimentaient, le reducer sérialise son dictionnaire temporaire dans un fichier et transmet le nom de ce fichier à l’aggrégateur“, qui s’occupe de produire la sortie finale.

Une fonctionnalité clé de ActorFx 0.5 est d'intégrer la programmabilité inter-acteur. Cela permet aux acteurs de créer et supprimer d’autres acteurs. La version précédente nécessitait un client externe pour aider à gérer le cycle de vie des acteurs.

Comme d’autres librairies récentes de Microsoft, les diagnostiques sont désormais effectués via l’infrastructure Event Tracing for Windows (ETW).

On compte maintenant 4 types d’acteurs prêts à l’emploi, le plus récent étant l’acteur StatelessActorApp.

  • EmptyActorApp : cet acteur vous permet de lancer des services d’acteur “vide”, qui sont des services d’acteur sans aucun comportement prédéfini. Il est possible d’y rajouter une intelligence en s’appuyant sur les méthodes d’acteurs contenues dans les “assemblies”.

  • ListActorApp : cet acteur vous permet de lancer un service d'acteurs de listes, avec des opérations sur listes pré-établies.

  • DictionaryActorApp : cet acteur vous permet de lancer des services d’acteur de type dictionnaire, qui intègrent des opérations de clé-valeur.

  • StatelessActorApp : en fait mal nommé ; ces services d’acteur peuvent en effet garder un état, mais la sauvegarde de cet état est géré en dehors de l’espace d’exécution des acteurs. Du point de vue de ce moteur d'exécution, les services de cet acteur sont sans état. Cet acteur et ses services associés sont donc un premier pas vers un système d’enregistrement externe à l’espace d’exécution des acteurs.

Plus d’informations sont disponibles dans la documentation d'Actor Runtime Manager.

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Donnez-nous votre avis

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet
Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Discuter

Contenu Éducatif

Rien ne serait possible sans le soutien et la confiance de nos Sponsors Fondateurs:

AppDynamics   CloudBees   Microsoft   Zenika
Feedback Général
Bugs
Publicité
Éditorial
InfoQ.com et tous les contenus sont copyright © 2006-2014 C4Media Inc. InfoQ.com est hébergé chez Contegix, le meilleur ISP avec lequel nous ayons travaillé.
Politique de confidentialité
BT