Suite du workshop de ce matin.
Voici un aperçu non exhaustif de cette deuxième partie de session
Dynamic Worker Roles
Présentation des worker roles dynamiques : Ou comment répartir les types de travaux sur un worker role, et pouvoir ajouter de nouveaux types de travaux sans redéployer
La solution : Utiliser une file d’attente de stockage: Grosso modo, le principe est d’uploader les taches dans un Blob storage qui est chargé dans le worker role à la volée, dans un AppDomain perso, quand celui en a besoin pour parser un message.
Ah, petit exemple avec un service “PingPongService”
Le gros intéret réside surtout dans le fait que le déploiement d’un service mis à jour ne nécessite pas le redéploiement complet du Worker Role.
L’exemple est concluant, le redéploiement d’une nouvelle version d’une assembly est quasi instantanée, sans interruption des autres services du worker Role
The MapReduce Pattern
Concept du MapReduce : Diviser un problème énorme à résoudre en plusieurs problèmes plus simple, ou comment résoudre le traitement d’une charge trop importante pour un worker role.
A vous de définir comment mapper et réduire votre charge de travail, avec une fonction de répartition:
Storage Strategy
Il est déjà 15h quand nous attaquons les différentes stratégies de stockage
Chris Auld nous parle de Partitionning : Parce que les données sont trop volumineuses ou la charge top importante (trop de transactions / sec par ex) il est intéressant de partitionner (ça vous rappelle surement le partionning sous SQL SERVER non ?
)
Le partitionning est divisé en 3 types : Horizontal, Vertical et Hybrid.
L’Horizontal Partitionning est géré par défaut dans Azure Blobs ou Azure Queues, et à gérer dans SQL Azure
Le Vertical Partitionning, va découper les données sur plusieurs noeuds.
L’Hybrid partitionning prend les avantages et défaut des deux modèles précédents
Quelques slides supplémentaires nous présentent les meilleurs façons de partitionner sous SQL AZURE (qui reste une solution à implémenter selon votre propre méthode algorithme)
La partie partionning se termine sur une démo des différentes façons de créer une clé de partitionnement.
